久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > KeilC51數據類型轉換

KeilC51數據類型轉換

作者: 時間:2016-11-10 來源:網絡 收藏
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方法,即,在可能發生數據溢出時,進行強制類型轉化。


評論


技術專區

關閉