1. 程式人生 > >c++ 一些註意事項

c++ 一些註意事項

編譯器 a* 系統 long 但是 可能 註意 efi 強制類型轉換

1.long int的字節信息:int在32位系統下是4字節,long在32位也是4字節,在64位Int不變,但是long變成8字節,所以我們的編譯器不同可能會導致我們處理int,long不同

2.註意c++有時候的強制類型轉換:(註意最大最小值是不一樣的,INT_MAX (231 ? 1) 或 INT_MIN (?231))

#define INT_MAX 0x7fffffff
#define INT_MIN 0x80000000
INT_MAX = 2147483647
INT_MIN = -2147483648

int a;
long b=a*10;
//當a*10的大於0x7fffffff時,編譯器是將a*10暫時存在一個int裏面,然後在賦值給long,這樣就會導致精度損失
//所以上面的操作不如換為以下的操作
b=a;
b=b*10;

c++ 一些註意事項