二進位制和十進位制之間的互相轉換

2021-10-24 17:56:52 字數 1073 閱讀 5081

二進位制:00010011

轉換為如下=》

十進位制:2^0*1+2^1*1+2^2*0+2^3*0+2^4*1=1+2+0+0+16=19

十進位制:19

轉換為如下=》

二進位制:16  8  4  2  1 快速轉換為: 16   2  1為1(16+2+1=19),否則為0,

則轉換出來的二進位制為:1 0 0 1 1,空位補0則為0001 0011。

下面說下負數的二進位制轉換:

通俗的說:

正數的反碼和補碼都與原碼相同。

負數的反碼為對該數的原碼除符號位外各位取反。

負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1

官方說法:

原碼表示法規定:用符號位和數值表示帶符號數,正數的符號位用「0」表示,負數的符號位用「1」表示,數值部分用二進位制形式表示。

反碼表示法規定:正數的反碼與原碼相同,負數的反碼為對該數的原碼除符號位外各位取反。

補碼表示法規定:正數的補碼與原碼相同,負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1.

正零和負零的補碼相同,[+0]補=[-0]補=0000 0000b

如:-5的二進位制轉換:

4  2  1

-5的原碼:1000 0000 0000 0000 0000 0000 0000 0101

取反碼:1111 1111 1111 1111 1111 1111 1111 1010

補碼:1111 1111 1111 1111 1111 1111 1111 1010 + 1 = 1111 1111 1111 1111 1111 1111 1111 1011

最後-5最後轉換後的二進位制為:1111 1111 1111 1111 1111 1111 1111 1011

如:將1111 1111 1111 1111 1111 1111 1111 1011轉換為十進位制:

取反:1000 0000 0000 0000 0000 0000 0000 0100

+1得原碼:= 1000 0000 0000 0000 0000 0000 0000 0101 = 2^2 + 1 = 5

符合位位1則為 -5。

二進位制和十進位制之間的互相轉換

1.首先用2整除乙個十進位制整數,得到乙個商和餘數 2.然後再用2去除得到的商,又會得到乙個商和餘數 3.重複操作,一直到商為小於1時為止 4.然後將得到的所有餘數全部排列起來,再將它反過來 逆序排列 切記一定要反過來!假設我們現在需要將42轉為二進位制,那我們怎麼做呢,如下圖所示 1.用2乘十進位...

二進位制和十進位制之間的互相轉換

十進位制轉二進位制分為 整數轉二進位制 小數轉二進位制 1.首先用2整除乙個十進位制整數,得到乙個商和餘數 2.然後再用2去除得到的商,又會得到乙個商和餘數 3.重複操作,一直到商為小於1時為止 4.然後將得到的所有餘數全部排列起來,再將它反過來 逆序排列 切記一定要反過來!1.用2乘十進位制小數,...

二進位制轉十進位制

二進位制轉十進位制方法很多,如字元陣列,指標法等 下面用字串函式的方法實現 二進位制轉十進位制 主要用 到 string函式性質及pow求乙個數的n次方的函式過載 by adengou 2010.08.04 win7 dev c 5.0 vs 2010 通過 include include incl...