作业帮 > 综合 > 作业

15.7 C语言 a为八进制数07101,能将a中各二进制位均置成1的表达式是:

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/03 01:48:24
15.7 C语言 a为八进制数07101,能将a中各二进制位均置成1的表达式是:
答案是a|07777
我觉得应该是a|17777?求解答.
应该是a|017777?是不是答案不对?
15.7 C语言 a为八进制数07101,能将a中各二进制位均置成1的表达式是:
a|07777.前导零说明这是8进制数,17777就作为10进制数处理了
再问: a|017777?
再答: a为八进制数07101,其0同样是前导的八进制标志。
再问: a=07101 转成二进制 111001000001 总共只有12位,,难道不需要在左边补四个0吗?因为8个二进制位相当于一个字节??????????
再答: 这就要看对问题如何理解了。
对于这个问题,“ a为八进制数07101,能将a中各二进制位均置成1的表达式是”,可以有多个答案的。
再者说,怎么就一定是16位呢?如果是32位、64位不可以吗?这样的话,就没有答案了。
再问: 如果a为八进制数0101

转成二进制是保留九位001000001
还是保留7位啊1000001????

困惑、、。。。。。。。。。。
再答: 如果a为八进制数0101,转成二进制保留九位001000001不会错,8位01000001或者7位1000001都不能算错。这要看具体的前后语境或者说要看具体用途。

回到你的原问题上来,如果是考试要选一个正确答案,找一个正确的就行了。如果是实际使用的,就要看对位数的约定了(比如约定是字节、字,还是位),否则无法给出标准答案。