您的位置 首页 电源

KeilC51数据类型转化

1、/*06-03-31在KEIL中调试发现*/例1:……unsignedlongintb;unsignedintx;x=968;b=100*x;b=96800-65536;例2:……

1、/*06-03-31在KEIL中调试发现*/
例1:
……
unsigned long int b;
unsigned int x;
x=968;
b=100*x;
b=96800-65536;
例2:
……
unsigned long int b,x;
x=968;
b=100*x;
b=96800;
例3:
……
unsigned long int b;
unsigned int x;
x=968;
b=(unsigned long int)(x)*100;
b=96800;
定论:在运用KEIL C51中进行杂乱数学运算时,特别是在运算表达式左右两头的数据类型不一起,必定要注意变量(寄存器)字节长度改变问题,必要是要进行强制类型转化,避免形成数据溢出。如上例1中,数据就产生了溢出;而例2和例3则不会产生这种现象,但例2编译后生成的代码要远多于例3,因而一般宜运用例3办法,即,在可能产生数据溢出时,进行强制类型转化。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/276200.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部