推荐答案
测试一下
题目
十进制数46的格雷码是哪个?
A.100011
B.101110
C.111001
D.111110
参考答案与知识点
参考答案
正确答案是C,即111001。解析:首先将十进制46转换为二进制,采用除2取余法或分解幂次:46=32+8+4+2,对应2^5、2^3、2^2、2^1,因此二进制为101110(从高位到低位:第5位1,第4位0,第3位1,第2位1,第1位1,第0位0)。格雷码与二进制码的转换规则:格雷码最高位等于二进制码最高位,其余各位等于对应二进制位与高位二进制位的异或结果。设二进制码B[5:0]=1 0 1 1 1 0,则格雷码G[5]=B[5]=1;G[4]=B[5]⊕B[4]=1⊕0=1;G[3]=B[4]⊕B[3]=0⊕1=1;G[2]=B[3]⊕B[2]=1⊕1=0;G[1]=B[2]⊕B[1]=1⊕1=0;G[0]=B[1]⊕B[0]=1⊕0=1。得到G[5:0]=111001,对应选项C。选项A(100011)为误算;选项B(101110)为二进制原始码,未转换;选项D(111110)为常见错误,可能混淆了异或顺序或位宽。易错点:注意格雷码生成规则是相邻位异或,而非逐位取反;十进制转二进制时需确保位宽足够(46需6位二进制)。
涉及知识点
- 格雷码定义
- 二进制转格雷码方法
- 十进制转二进制
- 异或运算