关于C语言的两道习题,请写出具体的解题步骤.
问题描述:
关于C语言的两道习题,请写出具体的解题步骤.
(1).表达式3&5-4|5+2^7+~3的值.
(2).表达式2>>3-3<<2的值.
答
3&5:011&101 ( 按位与运算 对应相同为1则为1)等于0011
4|5:100|101(按位或运算对应有一个1则为1) 等于101 5
2^7:010^111(按位异或运算相异为1)等于1015
~3: (按位取反) 1004
所以1-5+5+4=5
(2)
2>>3 ( 右移3个单位 10 >>3得10008
3(1)题:~3:(按位取反)00 0所以1-5+5+0=1(2)题:因为“-”的优先级高于“>”所以原表达式即2>>(3-3)<<22>>0<<2也即2<<2(左移2个单位 10