进制之间的转换

二进制

计算机的信息都是以二进制数存储的。计算机内部一律采用二进制的原因:

  1. 电压只有两个状态:高和低;用数字表示就是 1 和 0。
  2. 二进制的逻辑运算简单。逻辑只有 “0” 和 “1”,即真和假。
  3. 二进制的运算法则简单。

数制有六十进制、十六进制、十进制、八进制、二进制等。平常用得最多的是十进制,计算机内部使用的是二进制,编程还要用到八进制和十六进制。

基数与位权

基数就是进制中能表示数字的符号的个数。十进制有 0~9 共是个数字符号,所以基数是 10。二进制的基数是 2。某种进制允许使用的数字符号有多少个,其基数就是多少。

位权就是以基数为底,以数字所在的序号为指数的整数幂。十进制 12 的基数是 10,从右到左(个位到十位)的数字符号的序号依次是 0 和 1。那么,数字符号 2 的位权是 100;数字 1 的位权是 101

十进制 12 又可以这样表示:1×101+2×100=12。

二进制 1.1:

1.1=0×21+1×20+1×21

十进制 886.88:

886.88=8×102+8×101+6×100+8×101+8×102

R进制转为十进制

R 进制转换为十进制要按位权展开求和。

(1)二进制数 1001 转换为十进制数

1001=1×23+0×22+0×21+1×20=9

(2)八进制数 35 转换为十进制数

35=3×81+5×80=29

(3)十六进制数 32CF 转换为十进制数

32CF=3×163+2×162+12×161+15×160=13007

十进制转为R进制

整数转换

十进制整数化为 R 进制数:除 R 取余。

(1)把 237.8125 转换为二进制数。

从低往上依次填写的余数就是二进制的整数部分得到 11101101。

(2)把 58506.8125 转换为八进制数。

从低往上依次填写的余数就是八进制的整数部分得到 162212。

小数转换

十进制纯小数化为 R 进制数:乘 R 取整法,得 R 进制纯小数。

(1)把 0.8125 转换为二进制数。

0.8125×2=1.625 …… 整数部分为 1

0.625×2=1.25 …… 整数部分为 1

0.25×2=0.5 …… 整数部分为 0

0.5×2=1 …… 整数部分为 1

从高往下依次填写的整数就是二进制的小数部分得到 0.1101。

(2)把 0.8125 转换为八进制数。

从高往下依次填写的整数就是二进制的小数部分得到 0.64。

二进制转八进制

二进制的基数是 2,八进制的基数是 8,由于 8 是 2 的整数次幂,即8=23,所以一位八进制数正好相当于3位二进制数。以小数点为界限,分别向左、向右每3位一组划分,最后剩下的位数不够3位时用0补齐,再进行转换。

将二进制数 111111011.0100001 转换为八进制数,首先以小数点为界限,以3位数为一组进行划分:

整数部分001原本是1,由于是最后剩下的,所以用0补齐;小数部分100原本也是1,且也是最后剩下的,所以用0补齐。

将每组对于的八进制数写出来:

所以最后的结果是:1111111011.0100001=1773.204。

八进制转二进制

八进制转换为二进制就非常的简单了,只需要把八进制的每一位数字转换成3位二进制数即可,注意,如果二进制只有两位或者两位以下时,用0补齐这组数的最前面即可

将八进制数 72.531 转换为二进制数:

所以最后的结果是:72.531=111010.101011001

二进制转十六进制

二进制的基数是 2,十六进制的基数是 16,由于 16 是 2 的整数次幂,即16=24,所以一位十六进制数正好相当于4位二进制数。以小数点为界限,分别向左、向右每4位一组划分,最后剩下的位数不够4位时用0补齐,再进行转换。

将 111101010011.10111 转换为十六进制数,首先以小数点为界限,以4位数为一组划分,再依次对其进行转换:

所以,最终结果为111101010011.10111=F53.B8

十六进制转二进制

十六进制转换为二进制,直接将十六进制的每一位数字对应的二进制数写出来即可:

所以,最终结果为F53.B8=111101010011.10111

八进制与十六进制互转

八进制与十六进制之间的转换,最简单的方法就是借助于二进制来实现,先将八进制转换为二进制,然后二进制再转换为十六进制。同样的,十六进制转换为八进制也是借助于二进制实现。

进制对照表

二进制 八进制 十进制 十六进制
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
posted @   Himmelbleu  阅读(889)  评论(0编辑  收藏  举报
首页
随笔
博客园
我的
标签
管理
进制之间的转换
发表于 2022-01-13 00:39
|
已有 889 人阅读
|
留下 0 条评论
|
全文字数 ≈ 969字

二进制

计算机的信息都是以二进制数存储的。计算机内部一律采用二进制的原因:

  1. 电压只有两个状态:高和低;用数字表示就是 1 和 0。
  2. 二进制的逻辑运算简单。逻辑只有 “0” 和 “1”,即真和假。
  3. 二进制的运算法则简单。

数制有六十进制、十六进制、十进制、八进制、二进制等。平常用得最多的是十进制,计算机内部使用的是二进制,编程还要用到八进制和十六进制。

基数与位权

基数就是进制中能表示数字的符号的个数。十进制有 0~9 共是个数字符号,所以基数是 10。二进制的基数是 2。某种进制允许使用的数字符号有多少个,其基数就是多少。

位权就是以基数为底,以数字所在的序号为指数的整数幂。十进制 12 的基数是 10,从右到左(个位到十位)的数字符号的序号依次是 0 和 1。那么,数字符号 2 的位权是 100;数字 1 的位权是 101

十进制 12 又可以这样表示:1×101+2×100=12。

二进制 1.1:

1.1=0×21+1×20+1×21

十进制 886.88:

886.88=8×102+8×101+6×100+8×101+8×102

R进制转为十进制

R 进制转换为十进制要按位权展开求和。

(1)二进制数 1001 转换为十进制数

1001=1×23+0×22+0×21+1×20=9

(2)八进制数 35 转换为十进制数

35=3×81+5×80=29

(3)十六进制数 32CF 转换为十进制数

32CF=3×163+2×162+12×161+15×160=13007

十进制转为R进制

整数转换

十进制整数化为 R 进制数:除 R 取余。

(1)把 237.8125 转换为二进制数。

从低往上依次填写的余数就是二进制的整数部分得到 11101101。

(2)把 58506.8125 转换为八进制数。

从低往上依次填写的余数就是八进制的整数部分得到 162212。

小数转换

十进制纯小数化为 R 进制数:乘 R 取整法,得 R 进制纯小数。

(1)把 0.8125 转换为二进制数。

0.8125×2=1.625 …… 整数部分为 1

0.625×2=1.25 …… 整数部分为 1

0.25×2=0.5 …… 整数部分为 0

0.5×2=1 …… 整数部分为 1

从高往下依次填写的整数就是二进制的小数部分得到 0.1101。

(2)把 0.8125 转换为八进制数。

从高往下依次填写的整数就是二进制的小数部分得到 0.64。

二进制转八进制

二进制的基数是 2,八进制的基数是 8,由于 8 是 2 的整数次幂,即8=23,所以一位八进制数正好相当于3位二进制数。以小数点为界限,分别向左、向右每3位一组划分,最后剩下的位数不够3位时用0补齐,再进行转换。

将二进制数 111111011.0100001 转换为八进制数,首先以小数点为界限,以3位数为一组进行划分:

整数部分001原本是1,由于是最后剩下的,所以用0补齐;小数部分100原本也是1,且也是最后剩下的,所以用0补齐。

将每组对于的八进制数写出来:

所以最后的结果是:1111111011.0100001=1773.204。

八进制转二进制

八进制转换为二进制就非常的简单了,只需要把八进制的每一位数字转换成3位二进制数即可,注意,如果二进制只有两位或者两位以下时,用0补齐这组数的最前面即可

将八进制数 72.531 转换为二进制数:

所以最后的结果是:72.531=111010.101011001

二进制转十六进制

二进制的基数是 2,十六进制的基数是 16,由于 16 是 2 的整数次幂,即16=24,所以一位十六进制数正好相当于4位二进制数。以小数点为界限,分别向左、向右每4位一组划分,最后剩下的位数不够4位时用0补齐,再进行转换。

将 111101010011.10111 转换为十六进制数,首先以小数点为界限,以4位数为一组划分,再依次对其进行转换:

所以,最终结果为111101010011.10111=F53.B8

十六进制转二进制

十六进制转换为二进制,直接将十六进制的每一位数字对应的二进制数写出来即可:

所以,最终结果为F53.B8=111101010011.10111

八进制与十六进制互转

八进制与十六进制之间的转换,最简单的方法就是借助于二进制来实现,先将八进制转换为二进制,然后二进制再转换为十六进制。同样的,十六进制转换为八进制也是借助于二进制实现。

进制对照表

二进制 八进制 十进制 十六进制
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
作者:Himmelbleu
出处: https://www.cnblogs.com/Himmelbleu/#/p/15790688
版权:本作品采用「 署名-非商业性使用-相同方式共享 4.0 国际 」许可协议进行许可。
文章目录
二进制
基数与位权
R进制转为十进制
十进制转为R进制
整数转换
小数转换
二进制转八进制
八进制转二进制
二进制转十六进制
十六进制转二进制
八进制与十六进制互转
进制对照表
点击右上角即可分享
微信分享提示