新年第一天,執行新年計畫,每日一記,大小皆宜。
今天碰到乙個小問題,不引人注目,卻也會是個大坑,留下警示自己吧。
**中有兩個unsigned int相減的公式:
unsigned int a = 1;
unsigned int b = 2;
那麼 int c = a - b;等於多少呢?
乙個小細節,都以為是-1,沒問題!!!!
可是gdb裡面走一下怎麼就是不對,乙個很大的數字,為什麼呢?奇怪!!!!
仔細想想,原理自明!!!
a, b 都是unsigned int型別,做減法的時候不需型別轉換,但是當值小於0的時候就溢位了,成了乙個無效的數字。
以後注意!!!
MySQL資料型別 UNSIGNED注意事項
1.unsigned unsigned屬性就是將數字型別無符號化,與c c 這些程式語言中的unsigned含義相同。例如,int的型別範圍是 2 147 483 648 2 147 483 647,int unsigned的範圍型別就是0 4 294 967 295。在mysql中整型範圍 型別 ...
型別轉換注意點
低 高 byte,short,char int long float doubleint i 128 byte j byte i int k 10 int l 20 system.out.println i 128 system.out.println j 128 記憶體溢位 精度丟失問題 syst...
C語言 unsigned型別的用法!
筆者今天在刷題時,有乙個測試點老是通不過,經過多次檢查 和檢視大佬題解之後,發現是乙個小細節出了問題。測試點的正確輸出是乙個大正數,筆者的測試輸出是乙個負數,差的離譜。我一開始用的是int型的變數進行累加,因為測試點的數值太大了,導致該變數不斷增大超出了可表示的正數範圍,最後int型變數的最高一位變...