C语言题目:设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算_____.A. a=a&1 B. a=a|1 C. a=a7776 D. a=a|7776求答案加解析

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/13 14:54:24
C语言题目:设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算_____.A. a=a&1   B. a=a|1   C. a=a7776  D. a=a|7776求答案加解析

C语言题目:设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算_____.A. a=a&1 B. a=a|1 C. a=a7776 D. a=a|7776求答案加解析
C语言题目:设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算_____.
A. a=a&1 B. a=a|1 C. a=a7776 D. a=a|7776
求答案加解析

C语言题目:设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算_____.A. a=a&1 B. a=a|1 C. a=a7776 D. a=a|7776求答案加解析
答案是B吧.
8进制可以用三位二进制表示,比如7表示为111,1表示为001,再者就是&是与运算,有0取0,都为1取1,|是或运算,有1取1,都为0取0;所以A明显不可以,比如,a的最后一位是0,那么&1结果还是0.B刚好成立,并且不会影响a的其他位.C没运算.D的7776换成3位二进制表示的八进制就是111111111110,最后一位是0,显然不能改变a的最后一位.所以选B;