- 1
- 0
- 约2.64千字
- 约 33页
- 2021-12-03 发布于福建
- 举报
取出的那几位移到最右端。 图12.3 右移到右端可以用下面方法实现: a 4 ② 设置一个低4位全为1,其余全为0的数。可用下面方法实现: ~ ( ~ 0 4 ) ~0的全部二进制为全1,左移4位,这样右端低4位为0。见下面所示: 0:0000…000000 ~0: 1111…111111 ~04:1111…110000 ~(~04):0000…001111 ③ 将上面二者进行运算。即 (a 4) ~ ( ~ 0 4 ) 根据上一节介绍的方法,与低4位为1的数进行运算,就能将这4位保留下来。 程序如下: main( ) {unsigned a,b,c,d; scanf(%o,a); b=a>>4; c=~(~0<<4); d=bc; printf(%o, %d\n%o, %d\n,a,a,d,d); } 运行情况如下: 331 331, 217(a的值) 15, 13 (d的值) 输入a的值为八进制数331, 即十进制数217, 其二进制形式经运算最后得到的d即八进制数15,十进制数13。 可以任意指定从右面第m位开始取其右面n位。只需将程序中的“b=a>>
原创力文档

文档评论(0)