首页 百科知识 位运算举例

位运算举例

时间:2022-09-22 百科知识 版权反馈
【摘要】:依次循环16遍,取出其全部16位分别输出,这样通过位运算就把原数的二进制形式显示出来了。分析:要想将16位的无符号整数i的高8位与低8位互换,首先要分离出高8位和低8位,用i和127进行与运算分离出低8位,将i右移8位分离出高8位。

9.2 位运算举例

例9.1 将一个8位二进制数a右端起3~5位取出。

解题步骤:

①将操作数a右移3位。目的是将原数右起的3~5位变为0~2位。

假如a的值是11101100,进行按位右移运算:

img681

操作数a的当前值为00011101。

②再将操作数a进行按位与运算,保留右端0~2位,其余位清0。

img682

程序如下:

img683

程序运行结果如下:

img684

例9.2 输入无符号整数,输出其对应的二进制数。

程序如下:

img685

程序运行结果如下:

img686

分析说明:此程序主要是利用按位与运算取出每一位数字,再输出。先进行如下运算:

img687

再判断取得最高位后的值是不是非0值,若是则输出1,否则输出0;然后将a左移1位后再次进行上面的按位与运算,目的是取得此时的最高位即原值的第2位,再通过判断语句将此位输出,然后再左移1位重复上述操作……依次循环16遍,取出其全部16位分别输出,这样通过位运算就把原数的二进制形式显示出来了。

例9.3 将一个无符号整数的高低8位互换,显示换后的无符号整数值。

分析:要想将16位的无符号整数i的高8位与低8位互换,首先要分离出高8位和低8位,用i和127进行与运算分离出低8位,将i右移8位分离出高8位。然后,把i的高8位与低8位合并成一个无符号整数。

程序如下:

img688

img689

程序运行结果如下:

img690

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

我要反馈