首页 百科知识 位运算应用

位运算应用

时间:2022-10-16 百科知识 版权反馈
【摘要】:将无符号数a循环右移n位,即将a中原来左端位右移n位,原来右端n位移到最左端n位。输入的8进制数是1614,对应2进制数是0000 0011 1000 1100,右循环3位后的2进制数是:1000 0000 0111 0001,对应的8进制数是100161。题目分三步进行:将a的右端n位先放到b中的高n位中,实现语句为b=a<<;将a右移n位,其左面高位n位补0,实现语句为c=a>>n;最后c与b进行按位或运算,即c=c|b。

9.2 位运算应用

【例9.1】位运算的简单应用。

img338

运行结果如图9-1所示。

图9-1

分析:

img340

计算过程:

img341

【例9.2】将无符号数a循环右移n位,即将a中原来左端(16-n)位右移n位,原来右端n位移到最左端n位。

img342

运行结果如图9-2所示。

img343

图9-2

分析:

输入的8进制数是1614,对应2进制数是0000 0011 1000 1100,右循环3位后的2进制数是:1000 0000 0111 0001,对应的8进制数是100161。

题目分三步进行:将a的右端n位先放到b中的高n位中,实现语句为b=a<<(16-n);将a右移n位,其左面高位n位补0,实现语句为c=a>>n;最后c与b进行按位或运算,即c=c|b。

img344

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈