二進位制: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...