十六進位制轉二進位制,十六進位制如何轉換為二進位制

時間 2021-12-23 07:33:41

1樓:灰灰吃瓜

轉換如下:首先把十六進位制數04271544中的每一位數轉換為二進位制數,每個數要分四位,不足四位的前面加零,請看下面演示:

0  0000

4  0100

2  0010

7  0111

1  0001

5  0101

4  0100

4  0100

將得出四位二進位制數串連起來就是結果了

所以,十六進位制04271544轉換二進位制為100001001110001010101000100 (前面的0就省了)

十六進位制0209fe83轉換二進位制為 1000001001111111101000

0  0000

2  0010

0  0000

9  1001

f  1111

e  1110

8  1000

3  0011

2樓:文史一家人

要將十六進位制數轉換成二進位制數,只要將1位十六進位制數寫成4位二進位制數,然後將整數部分最左邊的「0」和小數部分最右邊的「0」去掉即可。可以查詢二進位制十六進位制對應關係轉化。

04271544轉換成二進位制為100001001110001010101000100

0209fe83轉換成二進位制為10000010011111111010000011

擴充套件資料:

各種進位制數之間的轉換

一、二進位制數轉換為十六進位制數

將一個二進位制數轉換成十六進位制數的方法是將二進位制數的整數部分和小數部分分別進行轉換,即以小數點為界,整數部分從小數點開始往左數,每4位分成一組,當最左邊的數不足4位時,可根據需要在數的最左邊新增若干個「0」以補足4位。

對於小數部分,從小數點開始往右數,每4位分成一組,當最右邊的數不足4位時,可根據需要在數的最右邊新增若干個「0」以補足4位,最終使二進位制數的總的位數是4的倍數,然後用相應的十六進位制數取而代之。

例如:111011.1010011011b = 0011 1011.1010 0110 1100b = 3b.a6ch

二、十六進位制數轉換為二進位制數

要將十六進位制數轉換成二進位制數,只要將1位十六進位制數寫成4位二進位制數,然後將整數部分最左邊的「0」和小數部分最右邊的「0」去掉即可。

三、二進位制數轉換為十進位制數

要將一個二進位制數轉換成十進位制數,只要把二進位制數的各位數碼與它們的權相乘,再把乘積相加,就得到對應的十進位制數,這種方法稱為按權相加法。

例如:100011.1011b = 1×25 + 1×21 + 1×20 + 1×2-1 + 1×2-3 + 1×2-4= 35.6875d

四、十進位制數轉換為二進位制數

要將一個十進位制數轉換成二進位制數,通常採用的方法是基數乘除法。這種轉換方法是對十進位制數的整數部分和小數部分分別進行處理,整數部分用除基取餘法,小數部分用乘基取整法,最後將它們拼接起來即可。

3樓:小小鑫喔

二進位制是一種最簡單的進位計數制,它只有兩個不同的數碼:「0」和「1」,即基數為2,逢2進1。任意數位的權是2i。

04271544轉換成二進位制為100001001110001010101000100

0209fe83轉換成二進位制為10000010011111111010000011

各種進位制數之間的轉換

1)二進位制數轉換為十六進位制數

將一個二進位制數轉換成十六進位制數的方法是將二進位制數的整數部分和小數部分分別進行轉換,即以小數點為界,整數部分從小數點開始往左數,每4位分成一組,當最左邊的數不足4位時,可根據需要在數的最左邊新增若干個「0」以補足4位;對於小數部分,從小數點開始往右數,每4位分成一組,當最右邊的數不足4位時,可根據需要在數的最右邊新增若干個「0」以補足4位,最終使二進位制數的總的位數是4的倍數,然後用相應的十六進位制數取而代之。

例如:111011.1010011011b = 0011 1011.1010 0110 1100b = 3b.a6ch

2)十六進位制數轉換為二進位制數

要將十六進位制數轉換成二進位制數,只要將1位十六進位制數寫成4位二進位制數,然後將整數部分最左邊的「0」和小數部分最右邊的「0」去掉即可。

例如:3b.328h = 0011 1011.0011 0010 1000b = 111011.001100101b

3)二進位制數轉換為十進位制數

要將一個二進位制數轉換成十進位制數,只要把二進位制數的各位數碼與它們的權相乘,再把乘積相加,就得到對應的十進位制數,這種方法稱為按權相加法。

例如:100011.1011b = 1×25 + 1×21 + 1×20 + 1×2-1 + 1×2-3 + 1×2-4= 35.6875d

4)十進位制數轉換為二進位制數

要將一個十進位制數轉換成二進位制數,通常採用的方法是基數乘除法。這種轉換方法是對十進位制數的整數部分和小數部分分別進行處理,整數部分用除基取餘法,小數部分用乘基取整法,最後將它們拼接起來即可。

(1)十進位制整數轉換為二進位制整數(除基取餘法)

十進位制整數轉換為二進位制整數的規則是:除以基數(2)取餘數,先得到的餘數為低位,後得到的餘數為高位。

具體的做法是:用2連續去除十進位制整數,直到商等於0為止,然後按逆序排列每次的餘數(先取得的餘數為低位),便得到與該十進位制數相對應的二進位制數各位的數值。

例如,將175d轉換成二進位制數:

所以,175d=10101111b

(2)十進位制小數轉換為二進位制小數(乘基取整法)

十進位制小數轉換為二進位制小數的規則是:乘以基數(2)取整數,先得到的整數為高位,後得到的整數為低位。

具體的做法是:用2連續去乘十進位制數的小數部分,直至乘積的小數部分等於0為止,然後按順序排列每次乘積的整數部分(先取得的整數為高位),便得到與該十進位制數相對應的二進位制數各位的數值。

例如,將0.3125d轉換成二進位制數:

0.3125×2 = 0.625       … 整數0       (高位)

0.625×2  = 1.25        … 整數1

0.25×2   = 0.5         … 整數0

0.5×2    = 1.0         … 整數1       (低位)

所以,0.3125d = 0.0101b

若要將十進位制數175.3125轉換成二進位制數,應對整數部分和小數部分分別進行轉換,然後再進行整合:

175.3125d=10101111.0101b

需要注意的是,十進位制小數常常不能準確地換算為等值的二進位制小數,存在有一定的換算誤差。

例如,將0.5627d轉換成二進位制數:

0.5627×2 = 1.1254

0.1254×2 = 0.2508

0.2508×2 = 0.5016

0.5016×2 = 1.0032

0.0032×2 = 0.0064

0.0064×2 = 0.0128

由於小數位始終達不到0,因此這個過程會不斷進行下去。通常的做法是:根據精度要求,擷取一定的數位,其誤差值小於擷取的最低一位數的權。

當要求二進位制數取m位小數時,一般可求m+1位,然後對最低位作「0舍1入」處理。

例如:0.5627d = 0.100100…b

若取精度為5位,則由於小數點後第6位為「0」,被捨去,所以:

0.5627d = 0.10010b

4樓:技成培訓網

二進位制十六進位制相互轉換

5樓:魯工伏以彤

常規的演算法就是統統轉10進位制再轉成對應的,只不過整數部分是一直除,小數部分是一直乘。

6樓:出群

十六進位制轉二進位制。有點兒顧名思義,正查到再告訴你。

7樓:敏筠相痴凝

這個背下來就好了,這個東西用多了自然背下來了1=0001

2=0010

3=0011

4=0100。。

。。f=1111

然後10110110001=101

1011

0001

對照上面的表就等到5b1

十六進位制就是5b1了

小數也一樣,從小數點開始,四個數為一位,不夠的補零101011.100101

=0010

1011

.1001

0100

這個你自己換了

8樓:匿名使用者

將十六進位制數的每一位上的數都用4位的二進位制的數表示,再將這些二進位制數按原來十六進位制的數排列起來就可以了

十六進位制------二進位制

0--------------0000

1--------------0001

2--------------0010

3--------------0011

4--------------0100

5--------------0101

6--------------0110

7--------------0111

8--------------1000

9--------------1001

a--------------1010

b--------------1011

c--------------1100

d--------------1101

e--------------1110

f--------------1111

按上面的對應關係轉換

0 4 2 7 1 5 4 4

0000 0100 0010 0111 0001 0101 0100 0100

0 2 0 9 f e 8 3

0000 0010 0000 1001 1111 1110 1000 0011

十六進位制如何轉換為二進位制

9樓:聽不清啊

十六進位制數轉換為二進位制數的步驟:每一位十六進位制數,轉換為四位二進位制數。

例如:3a7.b1h

=11 1010 0111.1011 0001 b

二進位制轉換成十六進位制的方法是,取四合一法,即從二進位制的小數點為分界點,向左(或向右)每四位取成一組。

組分好以後,對照二進位制與十六進位制數的對應關係,將四位二進位制按權相加,得到的數就是一位十六進位制數,然後按順序排列,小數點的位置不變哦,最後得到的就是十六進位制數哦。

注意16進位制的表示法,用字母h字尾表示,比如bh就表示10進位制數11;也可以用0x字首表示,比如0x23就是16進位制的23,十進位制的35(2*16+3=35)。

這裡需要注意的是,在向左(或向右)取四位時,取到最高位(最低位)如果無法湊足四位,就可以在小數點的最左邊(或最右邊)補0,進行換算。例如:

(1001101010.01101)2

=(0010 0110 1010.1110 1000)2

=26a.e8h

C語言二進位制轉十六進位制問題,十六進位制轉換成二進位制

include include int main result 0 結果清零。k 0 表示位權的k清零。k 初始位權為1 b j 0 printf 結果是 for i strlen b 1 i 0 i printf c b i printf return 0 10111111換成10進位制是191,...

c語言 二進位制轉十六進位制,C語言 二進位制轉十六進位制

看看這個行不行?希望對你有幫助 include stdafx.h include stdio.h include string.h include conio.h include stdlib.h void convert char input,char output for ii nx ii9 0...

進位制 二進位制 八進位制 十進位制 十六進位制是什麼意思哦?有什麼關係!忘高手解答

湯旺河邊 關於進位制,請詳細看看 你做加法運算時不是逢十進一位嗎,這是十進位制,二進位制就是逢二進一位,像11 01 100,並且二進位制只有0和1兩位數,其他8 10 16進位制都一樣,八進位制只有0 7八個數,依次類推! 就跟你數數一樣 數星期的時候 7天你進位1 7 不是從0開始 2進位制 0...