python实现整数的二进制循环移位


Posted in Python onMarch 08, 2019

题目:如何在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)

三、运行结果

python实现整数的二进制循环移位

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中如何获取类属性的列表
Dec 26 Python
python中 logging的使用详解
Oct 25 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
wxPython的安装与使用教程
Aug 31 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
在python中使用nohup命令说明
Apr 16 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
Python如何使用vars返回对象的属性列表
Oct 17 Python
matplotlib bar()实现百分比堆积柱状图
Feb 24 Python
详解Django的MVT设计模式
Apr 29 Python
python中的装饰器该如何使用
Jun 18 Python
Python3实现的反转单链表算法示例
Mar 08 #Python
Python3实现的判断回文链表算法示例
Mar 08 #Python
python字符串循环左移
Mar 08 #Python
详解Python Matplot中文显示完美解决方案
Mar 07 #Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 #Python
Python3实现的判断环形链表算法示例
Mar 07 #Python
浅析Python 读取图像文件的性能对比
Mar 07 #Python
You might like
PHP面向对象的使用教程 简单数据库连接
2006/11/25 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
PHP PDO fetch 模式各种参数的输出结果一览
2015/01/07 PHP
php常用数组函数实例小结
2016/12/29 PHP
php多进程并发编程防止出现僵尸进程的方法分析
2020/02/28 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
JavaScript学习笔记(十七)js 优化
2010/02/04 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
微信小程序 animation API详解及实例代码
2016/10/08 Javascript
package.json文件配置详解
2017/06/15 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
vue+axios新手实践实现登陆的示例代码
2018/06/06 Javascript
js中的this的指向问题详解
2019/08/29 Javascript
对vuex中getters计算过滤操作详解
2019/11/06 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
Python中函数参数调用方式分析
2018/08/09 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
init进程的作用
2012/04/12 面试题
个人求职简历的自我评价
2013/10/19 职场文书
煤矿安全生产月活动总结
2014/07/05 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
放射科岗位职责
2015/02/14 职场文书
个人求职信格式范文
2015/03/20 职场文书
老乡聚会通知
2015/04/23 职场文书
欢迎新生标语2015
2015/07/16 职场文书
超市员工管理制度
2015/08/06 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
《西门豹》教学反思
2016/02/23 职场文书
评估“风险”创业计划的几大要点
2019/08/12 职场文书
浅谈Redis的keys命令到底有多慢
2021/10/05 Redis