整型有4種進製形式:
1.十進位制: 都是以0-9這九個數字組成,不能以0開頭。
2.二進位制: 由0和1兩個數字組成。
3.八進位制: 由0-7數字組成,為了區分與其他進製的數字區別,開頭都是以0開始。
4.十六進製制:由0-9和a-f組成。為了區分於其他數字的區別,開頭都是以0x開始。
位運算在計算機語言中運用廣泛,所以十,二進位制間的轉換顯得十分重要:
十進位制與二進位制之間的轉換:
(1)十進位制轉二進位制的轉換原理:除以2,反向取餘數,直到商為0終止。
9(十進位制)→1001(二進位制)
(2)二進位制轉十進位制的轉換原理: 就是用進製的定義:二進位制的每乙個乘以2的n次方,n從0開始,每次遞增1。然後得出來的每個數相加。
1110(二進位制)→ 14(十進位制) 8+4+2=14
(3)負數:這時候需引入補碼的概念,乙個byte第八位(最前位)是確定符號的位,0為正,1為負,但考慮到+0與-0值相等,為了使邏輯成立沒有偏差,所以提出了補碼表示法。
補碼的計算公式:
正數:原始碼、反碼和補碼都相同。
負數:補碼 = 反碼(符號位保持不變) + 1
注意: 負數在計算補碼的時候,在原始碼取反的過程中要保留符號位不變,其他位取反,例如:10001010取反11110101(第乙個1不變),補碼就為11110110。
另外,對於負數中的二進位制轉十進位制,自己發現了乙個小公式:
先直接算出正數(此時一般超過127而小於256),該負數=新的正數-256
舉個例子:11000011(即十進位制的 -61) = 128+64+2+1 - 256 = -61 與結果吻合
十進位制與二進位制之間的轉換
一 正整數的十進位制轉換二進位制 要點 除二取餘,倒序排列,高位補0 例如把52換算成二進位制數,計算結果如圖 52除以2得到的餘數依次為 0 0 1 0 1 1,倒序排列,所以52對應的二進位制數就是110100。由於計算機內部表示數的位元組單位都是定長的,以2的冪次展開,或者8位,或者16位,或...
十進位制與二進位制之間轉換詳解
二 二進位制數轉成十進位制數 三 十進位制正整數轉八進位制 基本原理 除基數倒取餘數法。即 十進位制轉二進位制,基數就是2,用2整除乙個十進位制正整數,可以得到乙個商和餘數 再用2去除商,又會得到乙個商和餘數 如此進行,直到商為0 然後把先得到的餘數作為二進位制數的低位有效位,把後得到的餘數作為二級...
十進位制二進位制轉換
一 整形裝換成兩個位元組 int value 456 unsigned char byte1 value 0xff00 8 高8位 unsigned char byte2 value 0xff 低8位 nslog byte1 x byte2 x byte1,byte2 byte1 1 byte2 c...