\quad
一. 进位计数制
\quad
为什么机器数要用0和1表示
\quad
1.1 任意进制转为十进制
\quad
\quad
这个表格在计算的时候很好用
\quad
1.2 二进制转为八进制和十六进制
\quad
由于8进制刚好用3位二进制表示, 16进制刚好用4位二进制表示
那么2进制转为8进制和16进制可以直接转换
同样的8进制和16进制转为2进制也可以直接转换
\quad
\quad
\quad
\quad
\quad
进制的常见书写格式
也可以这样表示
\quad
\quad
1.2 十进制转为二进制
\quad
(75.3)D转为二进制
分为两个步骤
整数部分
小数部分
所以(75.3)D转为二进制的结果为
1001011.010…
\quad
\quad
真值和机器数的概念
\quad
\quad
\quad
二. BCD码
\quad
Binary-Coded Decimal 二进制编码十进制
问: BCD码是用二进制数对十进制数编码,明明可以直接把十进制数转化为二进制数,为什么非要搞一个四位对一位的BCD码?
答: 比如你要传输一个十进制数,肯定要先转成二进制,如果用传统的除二取余和乘二取整进行真实的转化,设计起来太复杂,如果单纯为了传输而不需要对数字进行加减等处理的话,搞个四位对一位的编码最省力,很容易用一个四输入一输出的编码器电路实现,传过去之后再用译码器转成十进制就行了
\quad
作者:Anakin
链接:https://www.zhihu.com/question/52632287/answer/131358091
来源:知乎
8421BCD码可以直接转换为十进制(比如0001 0011就表示十进制的13)
BCD为什么可以直接转换为十进制呢, 为什么用4位二进制表示呢?
因为八进制用3位二进制表示
十六进制用4位二进制表示
那么十进制用4位表示之后就会还剩6个没有定义(1010~1111)
\quad
\quad
我们以5+8=13为例
不在映射里就加6
若相加结果在合法范围内,则无需修正
\quad
2.1. 余3码
\quad
余3码就是在BCD码的基础上加3
余3码是无权码, 没有固定的权
(1101~1111) 是非法码(即在余3码中不存在)
如果两个十进制数相加等于10,二进制正好等于16, 高位自动产生进位信号
关于为什么使用余三码还没弄清楚, 知道的大神欢迎在评论区指导,嘻嘻