2 ,8 ,10,16进制快速转换的技巧

前言提示

以下知识必背,良好基础和技巧,才能让你更快的学习和熟练

  • 2 进制表示符号: B ,8 进制表示符号: O ,10 进制表示符号: D ,16 进制表示符号: H .

  • 16进制 1-9 后 是 A - F , 并不是 10 -16 .

  • 2 ,8 ,16 进制转换为10进制都是权值相加

  • 10 进制转换为 2 , 8, 16 进制都是除对应进制数取余

  • 8 和 16 进制的转换需要先转换为其他进制,再转换为目标进制

  • 将 0-8 的二进制次方数记住能极大提升转换 2 进制数的速度 .

  • 整数部分最前面的 0 可以去除, 小数最后面的 0 可以去除
    进制转换示意图


0-8的二进制次方数

2 0 2^0 20=1 2 1 2^1 21=2 2 2 2^2 22=4 2 3 2^3 23=8
2 4 2^4 24=16 2 5 2^5 25=32 2 6 2^6 26=64 2 6 2^6 26=128

学习内容

2进制转10进制

10100111 B = 167 ‾ \underline{167} 167 D

从字母B往左数,权重从0开始,所以D左边的 1 表示 1 * 2 0 2^0 20 = 1 , 再往左权重加 1 ,所以第二个1 为 1 * 2 1 2^1 21 = 2 , 为零不计算 .

全 部 计 算 的 数 字 再 相 加 \color{#FF0000}{全部计算的数字再相加} ,就是10进制的得数.
128 + 32 + 4 + 2 + 1 = 167 D


2进制转8进制

10100111 B = 247 ‾ \underline{247} 247 O

先将2进制数,从右往左,3个为一组进行分组,不够3个前面补0
分组后 : 010 100 111

分别计算 各 小 组 内 转 换 为 10 进 制 的 得 数 \color{#FF0000}{各小组内转换为10进制的得数} 10
010 B = 2 , 100 B = 4 , 111 B = 7

将数字从左往右排列后就是8进制的得数 : 247 D


2进制转16进制

10100111 B = 247 ‾ \underline{247} 247 O

先将2进制数,从右往左,4个为一组进行分组,不够4个前面补0
分组后 : 1010 0111

分别计算 各 小 组 内 转 换 为 10 进 制 的 得 数 \color{#FF0000}{各小组内转换为10进制的得数} 10
1010 B = 10 ,0111 B = 7

将数字从左往右排列后就是16进制的得数 : A7 H

提示: 16 进制 1-9 后 就是 A - F


8进制转2进制

56 O = 247 ‾ \underline{247} 247 B

先将每个数字分开
分开后 : 5 6

分别计算 单 个 数 字 的 二 进 制 得 数 \color{#FF0000}{单个数字的二进制得数 }
5 O = 101 B,6 O = 110 B

将得数从左往右排列后就是2进制的得数 : 101110 B


8进制转10进制

56 O = 46 ‾ \underline{46} 46 D

从字母D往左数,权重从0开始,所以B左边的 1 表示 6 * 8 0 8^0 80 = 6 , 再往左权重加 1 ,所以第二个1 为 5 * 8 1 8^1 81 = 40 , 为零不计算 .

全 部 计 算 的 数 字 再 相 加 \color{#FF0000}{全部计算的数字再相加} ,就是10进制的得数.
40 + 6 = 46 D


8进制转16进制

56 O = 2 E ‾ \underline{2E} 2E H

方法1: 先将八进制转换成二进制,再将二进制转换成十六进制
方法2: 先将八进制转换成十进制,再将十进制转换成十六进制

我们使用方法2,。
56 O = 46 D

此时应该回忆起开头的技巧, 10 进制转换其他进制都是除对应进制数取余

将10进制数不断的除以16 , 直到商为0 , 最后把余数逆向取得.
46 / 16 = 2 …14
2 / 16 = 0 …2

逆向取得余数: 2E H

方 法 1 可 看 16 进 制 转 换 8 进 制 \color{#FF0000}{方法1可看16进制转换8进制} 1168


10进制转2进制

202 D = 11001010 ‾ \underline{11001010} 11001010 B

将10进制数不断的除以2 , 直到商为0 , 最后把余数逆向取得.
202 / 2 = 101 …0
101 / 2 = 50 …1
50 / 2 = 25 …0
25 / 2 = 12 …1
12/ 2 = 6 …0
6 / 2 = 3 …0
3 / 2 = 1 …1
1 / 2 = 0 …1

逆向取得余数: 11001010 B


10进制转8进制

202 D = 312 ‾ \underline{312} 312 O

将10进制数不断的除以8 , 直到商为0 , 最后把余数逆向取得.
202 / 8 = 25 …2
25 / 8 = 3 …1
3 / 8 = 0 … 3

逆向取得余数: 312 O


10进制转16进制

202 D = C A ‾ \underline{CA} CA H

将10进制数不断的除以16 , 直到商为0 , 最后把余数逆向取得.
202 / 16 = 12 …10
12 / 16 = 0 …12

逆向取得余数: CA H


16进制转2进制

202 H = 1000000010 ‾ \underline{1000000010} 1000000010 B

先将每个数字分开
分开后 : 2 0 2

分别计算 单 个 数 字 的 二 进 制 得 数 \color{#FF0000}{单个数字的二进制得数 }
2 H = 0010 B,0 H = 0000 B , 2 H = 0010 B

将得数从左往右排列后就是2进制的得数 : 1000000010 B


16进制转8进制

202 H = 1000000010 ‾ \underline{1000000010} 1000000010 O

第一种:他们之间的转换可以先转成二进制然后再相互转换。
第二种:他们之间的转换可以先转成十进制然后再相互转换。

我们使用方法1.
202 H = 1000000010 ‾ \underline{1000000010} 1000000010 B
1000000010 B = 1002 O

方 法 2 可 看 8 进 制 转 换 16 进 制 \color{#FF0000}{方法2可看8进制转换16进制} 2816


16进制转10进制

202 H = 514 ‾ \underline{514} 514 D

从字母D往左数,权重从0开始,所以D左边的 1 表示 2 * 1 6 0 16^0 160 = 6 , 再往左权重加 1 ,所以第3个2 为 2 * 1 6 2 16^2 162 = 512 , 为零不计算 .

全 部 计 算 的 数 字 再 相 加 \color{#FF0000}{全部计算的数字再相加} ,就是10进制的得数.
512 + 0 + 2 = 514 D


posted @ 2022-05-30 00:35  爱吃菠萝包  阅读(87)  评论(0编辑  收藏  举报  来源