二、八、十、十六进制及小数间的转换
文章目錄
- 一、進制表示符號
- 二、十進制轉換為二進制、八進制、十六進制
- 2.1、十進制轉換為二進制
- 2.2、十進制轉換為八進制
- 2.3、十進制轉化為十六進制
- 三、二進制、八進制、十六進制轉換為十進制
- 3.1、二進制轉換為十進制
- 3.2、八進制轉換為十進制
- 3.3、十六進制轉換為十進制
- 四、二進制轉換為八進制、十六進制
- 4.1、二進制轉換為八進制
- 4.2、二進制轉換為十六進制
一、進制表示符號
二進制:B 用0和1表示
八進制:O 用0、1、2、3、4、5、6、7
十進制:D 用0、1、2、3、4、5、6、7、8、9
十六進制:H 用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F
二、十進制轉換為二進制、八進制、十六進制
2.1、十進制轉換為二進制
整數(shù)部分:整數(shù)部分除2取余數(shù),再取倒序
小數(shù)部分:小數(shù)部分乘2取整,再順序取(小數(shù)部分為零時,即為乘完或者按題目要求精度要求取小數(shù)后幾位)
eg:68.125D = 1000100.001B(精確到小數(shù)后4位)
解析:
68/2=34…0
34/2=17…0
17/2=8…1
8/2=4…0
4/2=2…0
2/2=1…0
1/2=0…1
整數(shù)部分倒序取為:1000100
0.125×2=0.25…0
0.25×2=0.5…0
0.5×2=1.0…1
小數(shù)部分順序取為:001
2.2、十進制轉換為八進制
整數(shù)部分:整數(shù)部分除8取余數(shù),再取倒序
小數(shù)部分:小數(shù)部分乘8取整,再順序取(小數(shù)部分為零時,即為乘完或者按題目要求精度要求取小數(shù)后幾位)
eg:57.5D = 71.4O(精確到小數(shù)后3位)
解析:
57/8=7…1
7/8=0…7
整數(shù)部分為:71
0.5×8=4.0…4
小數(shù)部分為:4
2.3、十進制轉化為十六進制
整數(shù)部分:整數(shù)部分除16取余數(shù),再取倒序
小數(shù)部分:小數(shù)部分乘16取整,再順序取(小數(shù)部分為零時,即為乘完或者按題目要求精度要求取小數(shù)后幾位)
eg:69.625D=45.aH(精確到小數(shù)后2位)
解析:
69/16=4…5
4/16=0…4
整數(shù)部分為:45
0.625×16=10…a
小數(shù)部分為:a
三、二進制、八進制、十六進制轉換為十進制
3.1、二進制轉換為十進制
整數(shù)部分:每個數(shù)去乘以2的相應次方
小數(shù)部分:小數(shù)點后則是從左往右(從-1一直往后)。
eg:00101010.01B = 42.25D
解析:
最后一位下標為0,從0開始,向左記數(shù)
整數(shù)部分:
0 0 1 0 1 0 1 0 ---->二進制數(shù)(整數(shù)部分)
7 6 5 4 3 2 1 0 ---->下標
計算:
00101010B=0×2^6 + 0×2^5 + 1×2^5 + 0×2^4 + 1×2^3 + 0×2^2+ 1×2^1 + 0×2^0 = 42D
小數(shù)部分:
0 1 ---->二進制數(shù)(整數(shù)部分)
-1 -2 ---->下標
計算:
0.01B = 0×2^(-1) + 1× 2^(-2) = 0.25D
3.2、八進制轉換為十進制
①整數(shù)部分:每個數(shù)去乘以8的相應次方
小數(shù)部分:小數(shù)點后則是從左往右(從-1一直往后)。
eg:71.4O = 57.5D
解析:
最后一位下標為0,從0開始,向左記數(shù)
整數(shù)部分:
7 1 ---->八進制數(shù)(整數(shù)部分)
1 0 ---->下標
計算:
71.4O=7×8^1 + 1×8^0 = 57D
小數(shù)部分:
4 ---->二進制數(shù)(整數(shù)部分)
-1 ---->下標
計算:
0.4O = 4×8^(-1)= 0.5D
3.3、十六進制轉換為十進制
①整數(shù)部分:每個數(shù)去乘以16的相應次方
小數(shù)部分:小數(shù)點后則是從左往右(從-1一直往后)。
eg:a.2H = 10.125D
解析:
最后一位下標為0,從0開始,向左記數(shù)
整數(shù)部分:
a ---->八進制數(shù)(整數(shù)部分)
0 ---->下標
計算:
aH=a×16^0 = 10D
小數(shù)部分:
2 ---->二進制數(shù)(整數(shù)部分)
-1 ---->下標
計算:
0.2H = 2×16^(-1)= 0.125D
四、二進制轉換為八進制、十六進制
4.1、二進制轉換為八進制
取三合一法:以小數(shù)點為分界點,向左(向右)每三位取成一位(不足用零補齊),接著將這三位二進制按權相加,得到的數(shù)就是一位八位二進制數(shù),按順序進行排列,小數(shù)點的位置不變,得到的數(shù)字就是我們所求的八進制數(shù)。
eg:100011.01110B=43.34O
整數(shù)部分:
100 011
210 210 ------>下標
計算:
100=1×2^2 + 0×2^1 + 0×2^0 =4
011=0×2^2 + 1×2^1 + 1×2^0=3
100011B = 43O
小數(shù)部分
011 100
210 210
計算:
011=0×2^2 + 1×2^1 + 1×2^0=3
100=1×2^2 + 0×2^1 + 0×2^0=4
0.01110B=0.34O
4.2、二進制轉換為十六進制
取四合一法:以小數(shù)點為分界點,向左(向右)每四位取成一位(不足用零補齊),接著將這四位二進制按權相加,得到的數(shù)就是一位十六位二進制數(shù),按順序進行排列,小數(shù)點的位置不變,得到的數(shù)字就是我們所求的十六進制數(shù)。
eg:11001.001B=19.2H
整數(shù)部分:
0001 1001
3210 3210 ---->下標
計算:
0001=1×2^3 + 1×2^2 + 0×2^1 + 0×2^0=1
1001=1×2^3 + 0×2^2 + 0×2^1 + 0×2^0=9
11001B=19H
小數(shù)部分
0010 ()不足四位自動補0
3210 ---->下標
計算:
0010 = 0×2^3 + 0×2^2 + 1×2^1 + 0×2^0=2
0.001B=2H
八進制轉換成十六進制算法通常有兩種方法:
1、先將八進制轉換成二進制,再將二進制轉換成十六進制
2、先將八進制轉換成十進制,再將十進制轉換成十六進制
參考的文章:https://blog.csdn.net/zhouym_/article/details/88360625
總結
以上是生活随笔為你收集整理的二、八、十、十六进制及小数间的转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习笔记(十九)——Python与数据库
- 下一篇: 复习(一)—— Shell基本编程