功能要求
编写一个Python应用程序,将整型数据48向右移1位;将整型数据-80向右移1位,并将结果显示在控制台。
实现步骤
1.创建一个Python文件,将整型数据48和-80右移1位,编写如下代码:
2.运行代码查看运行结果。
知识说明
按位右移运算符为“>>”是指将二进制形式操作数的所有为全部右移n位,低位丢弃,高位补0。如果最高位是0(正数),则左侧空位填入0;如果最高位是1(负数),则左侧空位填入1。右移位运算相当于除以2n。
根据右移位运算符的运算规则可以得出(00110000>>1)=00011000,所以转换为十进制数就是24(48÷2)。
负数?80右移2位的运算过程:
例如,int类型数据-48对应的二进制数为10110000,将其右移2位,根据右移位运算符的运算规则可以得出(10110000>>1)=11101100,所以转换为十进制数就是-20(-80÷2^2)。
右移n位相当于操作数除以2的n次方,根据此原理可借助除法运算符实现右移功能,例如,10右移3位,利用除法运算符进行计算即
。
说明:由于移位运算的速度很快,因此当程序中遇到表达式乘以或除以2n的情况时,一般采用移位运算来代替。