十進位制與二進位制之間的轉換

2022-09-17 04:27:07 字數 907 閱讀 2569

整型有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...