计算机数据及计算(1)常见的数制及转换
提到数制,在我们日常生活中,最常用的是二进制,但在数字电路、计算机中的数制并不只有十进制。
文章目录
1.常见的数制
1.1十进制
即我们日常生活中最常见的数制类型,包含数字0~9,“逢十进一”
例如:
即十进制数可用以下公式展开:
其中
称为基数,
为系数,
为权。
1.2二进制
在计算机和数字电路中应用最多的数制,由一串只包含0和1的序列组成,逢二进一,基数为2。与十进制类似的,二进制也可作展开:
1.3八进制
类似的定义,包含0~7,逢八进一,展开如下:
1.4十六进制
十六进制用数字09和字母AF表示,字母大于数字。由于混入了字母,其表示稍稍复杂。但亦可作通用的展开:
(注:以上为转换为十进制的公式)
2.数制转换
2.1二~十转换
将二进制按前文所述作各位展开并相加即可。
2.2十~二转换
一般采取短除法,例如:
(借用秒懂截图)
不断将要转换的十进制数与2作模运算,余数倒着输出,即对模数做一个栈(Stack)的出入栈—出栈操作。因此在数据结构中,数制转换也是栈的一个基本习题。
2.3二~十六转换
当二进制为四位二进制时,将其看做一个整体,从低到高没四位看做一个整体转换为十六进制,就可得到一个十六进制数
例如,
转换为十六进制:
0101-5
1101-E
1011-B
0010-2
即十六进制为5EB2。
当最高位和小数为不足4时,用0补足4位
2.4十六~二转换
相反,十六进制数每一位转换成等值的二进制数再组合即可,此处不作概述。
2.5二进制与八进制间转换
方法与二—十六间转换思路一致,但不同的是“逢3操作”,例如:
转换为八进制
即:
011-3
110-6
010-2
111-7
所得即为3627
八进制换二进制也是同样的思路。
2.6十进制转化为十六进制
十进制不可以直接转换为十六进制,但可以先转换为二进制,再转换为十六进制,方法前文已提及。
总结
数字电路和计算机中数制主要涉及的是二、八、十、十六进制,区别在于逢几进一。进制间转换问题。若是转换为十进制,可采用通式累加;其余的有着不同的方法。需要特别注意的是,十进制转换为二进制一般采用栈操作;十进制不可直接转换为十六进制。
参考
阎石,《数字电子技术基础(第六版)》,高等教育出版社