计算机小知识:十进制数的二进制编码
根据这种权的定义,数字0~9的8421码为0000、0001、0010、…、1001。一个十进制数转换成8421B.D码非常方便,就是把每一位十进制数用对应的8421码表示,如十进制数259所对应的8421B.D码为001001011001,它不等于259所对应的二进制数。注意,BCD码与二进制数之间的转换不是直接的,要先转换为十进制数,然后...
单片机进制转换
把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。最后将所有余数倒序排列,得到数就是转换结果。听起来有些糊涂?我们结合例子来说明。比如要转换6为二进制数。“把要转换的数,除以2,得到商和余数”。那么:要转换的数是6,6÷2,得到商是3,余数是0。(不要告诉我你不会计算6÷2!)...
学完计组后,我马上在「我的世界」造了台显示器,你敢信?
通常采用4位二进制数表示一位十进制数中的0~9这10个数码,优点是二进制和十进制之间的转换可以快速进行,缺点就是有6种状态为冗余状态。这里着重介绍一下8421BCD码。8421BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然...
光电式绝对编码器
图12.3.1(a)为标准二进制编码的码盘,这种编码方式直接取自二进制累进过程,也被称作8421码盘。当它在两个位置的边缘交替或来回摆动时,由于码盘制作或光电器件安装的误差会导致读数失误,产生非单值性误差。例如,在位置0111与1000的交界处,可能会出现1111、1110、1011、0101等数据,因此这种码盘在实际中很少采用。实用...
用示波器排查CAN的各种错误帧
反直觉知识点③:DLC的长度,在CAN标准里DLC可以是0000~1000之间的二进制值,可以用8421的算法直接计算出数据长度。而在CAN-FD中,1001~1111之间的值则被解读为离散的12,16,20,24,32,48,64byte。CRC段对于从帧头到Data结束之间的数据,CAN协议使用了CRC15这个比较特别的多项式计算校验,有兴趣的可以手算CRC试试。