问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

进制杂烩 - 二进制、十进制、八进制、十六进制转换及原理

创作时间:
作者:
@小白创作中心

进制杂烩 - 二进制、十进制、八进制、十六进制转换及原理

引用
CSDN
1.
https://blog.csdn.net/pikaqiu_komorebi/article/details/143233487

目录
进制数
各类进制转换十进制:
十进制:
二进制转换十进制:
十进制转换各类进制
十进制转换二进制:
① 整除法(除商取余法)
② 对照法
十进制转换八进制 -- 同理整除法、对照法均适用
十进制转换十六进制 -- 同理整除法、对照法均适用
二进制转换各类进制
二进制转换八进制
原理:二进制的每三位相加的和 = 对应八进制的一位
二进制转换十六进制
原理:二进制的每四位相加的和 = 对应十六进制的一位;
小数部分转换规则
参考文献

发源

二进制的由来: 机器语言,通电断电传输数据;计算机内部的所有数据和指令都是以二进制形式存储和处理的。

十进制的由来:掰手指,一共十个啦。

进制数

二进制数:0 1

十进制数:0 1 2 3 4 5 6 7 8 9

八进制数:0 1 2 3 4 5 6 7

十六进制数:0 1 2 3 4 5 6 7 8 9 A B C D E F(其中AF 分别对应1015)

八进制是每三位一组,表示要求补0,否则不知道是什么进制,eg:016

同理,十六进制不足四位补0X,eg:0X16;十进制的话就是16;主要是便于区分

各类进制转换十进制:

十进制:

二进制转换十进制:

八进制转换十进制:

十六进制转换十进制:

十进制转换各类进制

十进制转换二进制:

① 整除法(除商取余法)

除以2取余法:通过不断将十进制数除以2,并记录每次的余数,直到商为0为止。最后将余数从下往上排列,即得到二进制数。

13 ÷ 2 = 6 ... 1

6 ÷ 2 = 3 ... 0

3 ÷ 2 = 1 ... 1

1 ÷ 2 = 0 ... 1

② 对照法

将对应二进制的幂写出,对照取比较转换为二进制,大于则取1,小于就取0;

例如:125 转换为二进制

256 128 64 32 16 8 4 2 1 ==>(1 1 1 1 1 1 1 1 1 )

125<128,则对应位取0;125>64,对应位取1;

剩余61,61>32,对应取1;

剩余29,29>16,对应取1;

剩余13,13>8,对应取1;

剩余5,5>4,对应取1;

剩余1,2>1,对应取0;

剩余1,1=1,对应取1;

十进制转换八进制-- 同理整除法、对照法均适用

除以8取余法:通过不断将十进制数除以8,并记录每次的余数,直到商为0为止。最后将余数从下往上排列,即得到八进制数。


图1:十进制转换八进制示例

十进制转换十六进制 -- 同理整除法、对照法均适用

二进制转换各类进制

二进制转换八进制

421法(八进制):

原理:二进制的每三位相加的和 = 对应八进制的一位

举例:

将101111 转换为16进制

① 拆分

101111 拆分成 10 和1111 两个模块,方便理解可对10部分补0凑成四位;

② 对照

将A部分的四位数 分别对应 8 4 2 1 的位置 得到 2 和 0 相加等于 2

将B部分的四位数 分别对应位置,得到 8、4、2、1相加等于15,用16进制表达即F

③ 转换

A = 10 ===> 0010 ===> 0 + 0 + 2 + 0 = 2

B = 1111 ===> 8 + 4 + 2 + 1 = 15 对应16进制的F

④ 计算

验证一下:

二进制转换十六进制

8421法(十六进制):

原理:二进制的每四位相加的和 = 对应十六进制的一位;

举例:

将101111 转换为16进制

① 拆分

101111 拆分成 10 和1111 两个模块,方便理解可对10部分补0凑成四位;

② 对照

将A部分的四位数 分别对应 8 4 2 1 的位置 得到 2 和 0 相加等于 2

将B部分的四位数 分别对应位置,得到 8、4、2、1相加等于15,用16进制表达即F

③ 转换

A = 10 ===> 0010 ===> 0 + 0 + 2 + 0 =2

B = 1111 ===> 8 + 4 + 2 + 1 = 15 对应16进制的F

④ 计算

验证一下:

小数部分转换规则

二进制小数转换十进制小数

规则:从小数的的第一位依次降幂。

十进制小数转换二进制小数

规则: 乘二取整法,将十进制的小数部分乘2,取整数部分,小数部分继续乘2,直到没有小数位,即为0为止。

读数,从第一位读起,读到最后一位,即0.011

二进制数的表示:

位(Bit):二进制数的基本单位,表示0或1。

字节(Byte):8个位组成一个字节,是计算机中常用的数据单位。

字(Word):计算机中处理数据的基本单位,通常是16位、32位或64位。

参考文献

参考链接:常用进制转换方法(取商留余)原理解析, 附基于栈实现进制转换的代码 - 执生 - 博客园

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号