时间:2021-05-22
题目:如何在python中实现整数的二进制循环移位?
概述
在python中,可以通过<<以及>>运算符实现二进制的左移位以及右移位,然而并没有实现循环移位的运算符,暂时也找不到可以实现循环移位的函数,所以在本文中,主要介绍了如何使用字符的切片运算实现循环位移。
一、实现思路
1、利用字符串的format函数将int整数值转化为特定位数的二进制值
2、利用字符的切片操作实现循环位移
二、实现代码
# left circular shift #int_value是输入的整数,k是位移的位数,bit是整数对应二进制的位数 def circular_shift_left (int_value,k,bit = 8): bit_string = '{:0%db}' % bit bin_value = bit_string.format(int_value) # 8 bit binary bin_value = bin_value[k:] + bin_value[:k] int_value = int(bin_value,2) return int_value # right circular shift def circular_shift_right (int_value,k,bit = 8): bit_string = '{:0%db}' % bit bin_value = bit_string.format(int_value) # 8 bit binary bin_value = bin_value[-k:] + bin_value[:-k] int_value = int(bin_value,2) return int_value if __name__ == "__main__": A=1 B=circular_shift_right(A, 1, 8) print(A,"右循环位移1位的结果是",B) C = 128 D =circular_shift_left(C,1,8) print(C, "左循环位移1位的结果是", D)三、运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python十进制转二进制python中十进制转二进制使用bin()函数。bin()返回一个整数int或者长整数longint的二进制表示。下面是使用示例:>>
十进制256转换为二进制结果是100000000。十进制转换为二进制分为十进制整数转换为二进制整数和十进制小数转换为二进制小数,其中,十进制整数转换为二进制整数
二进制1100100转十进制整数是100。十进制整数转换为二进制整数采用的是“除2取余,逆序排列”法。具体做法是用2整除十进制整数,可以得到一个商和余数;再用2
十进制50,转化为二进制的值是110010,十进制整数转换为二进制整数采用“除2取余,逆序排列”法。 具体做法是:用2整除十进制整数,可以得到一个商和余数,再
移位运算符它主要包括:左移位运算符(>)、带符号的右移位运算符(>>),移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。运算符含义>