数据溢出问题。请教!

2020-01-30 13:54发布

unsigned int Adc_Data_Test;
Adc_Data_Test=(Adc_Data*330)/255;//Adc_Data取值在0-255;
这里比较迷糊最终结果是不可能溢出的,中间值会溢出!这个数学运算在编译的时候会产生一个临时变量存放中间结果吗?决定这个临时变量是什么类型的因素是哪个?Adc_Data_Test这个值很小,不想弄个四字节数据存取。麻烦有兴趣的老师说两句!教教新人!谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lcw_swust
1楼-- · 2020-01-30 17:24
 精彩回答 2  元偷偷看……
elecompu
2楼-- · 2020-01-30 21:26
谢谢,好使了,这是强制转换吗?C语言没系统学习过是不行!这两天买了本C语言书,好好翻番!
adongliu
3楼-- · 2020-01-31 01:28
可以 Adc_Data_Test=(Adc_Data*66)/51
lcw_swust
4楼-- · 2020-01-31 02:28
elecompu 发表于 2013-4-4 19:34
谢谢,好使了,这是强制转换吗?C语言没系统学习过是不行!这两天买了本C语言书,好好翻番! ...

的确是强制转换,可以当作中间结果是放在Adc_Data中的
censtar
5楼-- · 2020-01-31 08:24
旁观一下

一周热门 更多>