KeilC51数据类型转换应注意
          
            时间:08-08 09:36 阅读:2255次
*温馨提示:点击图片可以放大观看高清大图
                
         
        
		  
               简介:本文介绍了在使用C51语言编写程序时数据类型具体使用应注意的问题。
               
                        
          
            *在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方法,即,在可能发生数据溢出时,进行强制类型转化。