當前位置:網站首頁>【深入剖析】徹底弄明白十進制---->n進制轉換

【深入剖析】徹底弄明白十進制---->n進制轉換

2022-01-27 06:22:02 Anty_Ria

前言

記錄進制轉換相關問題
不說廢話,直接進入正文

正文

10進制轉換為8/16進制的通用辦法:10 --> 2 --> 8/16

10 —> 2

正整數

步驟:短除法 ,餘數倒著取即為二進制數

舉例:請添加圖片描述
所以282的二進制數就是 100011010

負整數

步驟:先用短除法求對應正數的二進制數,按比特取反,整體+1

舉例:例如求 -282 的二進制數
先求 282 的二進制數
1 0 0 0 1 1 0 1 0 (282的二進制數)
0 1 1 1 0 0 1 0 1 (按比特取反)
0 1 1 1 0 0 1 1 0 (按二進制的加法運算方式,整體的值+ 1)

正小數(無整數部分)

步驟:整體乘2,取出結果整數比特即為這個小數的二進制數的第一比特。取出結果的小數部分繼續乘二,將第二次的結果的整數部分取出來,就是這個小數的二進制數的第二比特,以此類推

舉例:求 0.75 的二進制數
請添加圖片描述
結果為 0.110

負小數(無整數部分)

步驟:負號只影響整數,不影響小數部分,只計算對應的正小數即可

舉例:求 - 0.75 的二進制數
結果同上:0.110

綜合起來

步驟:將整數和小數部分拼接到一起

舉例:求 -282.75 的二進制

把上面的結果拿下來,拼到一起,結果: 0 1 1 1 0 0 1 1 0 . 1 1 0

2 —> 8

步驟:每隔三比特算一組,不足三個補0凑滿三比特,每一組求出對應值

舉例:求 100011010.11 的八進制
100 011 010 . 110 (補零)
100 011 010 . 110 (分組)
4 3 2 . 6 (每一組求對應值)

結果:432.6

2 —> 16

步驟:每隔四比特算一組,不足四個補0凑滿四比特,每一組求出對應值

舉例:求 100011010.11 的十六進制
1001 0001 1010. 1100 (補零,補足正負號)
1001 0001 1010. 1100 (分組)
-1 1 a . c

結果: -11a.c

結尾

記錄一下計算過程,方便查找

版權聲明
本文為[Anty_Ria]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270622019456.html

隨機推薦