早教吧 育儿知识 作业答案 考试题库 百科 知识分享

我有一个关于C位运算的疑问,设有无符号短整型变量i、j、k,i值为013,j值为OX13.计算表达式“k=~i|j>>3”后,k的值是()A.06B.0177776C.066D.0177766

题目详情
我有一个关于C位运算的疑问,
设有无符号短整型变量i、j、k,i值为013,j值为 OX13.计算表达式“k=~i|j>> 3”后,k的值是( )
A.06
B.0177776
C.066
D.0177766
▼优质解答
答案和解析
解答的关键是分清运算符的优先级:
~的优先级大于>>大于|.
另外以0开头的数字是八进制的,0x开头提十六进制,所以要统一转换为二进制的比较好算.
i = 013 = 001011B
~i = 110100
j = 0x13 = 00010011B
j>>3 = 00010B,
k = ~i | j>>3 = (~i) | (j>>3)即 为110110但是你的类型是无符号短整型,前补1,所以结果为fff6转换为八进制即为0177766,选D