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减少循环层次和缩进的技巧分析
Mar 15 Python
Python 编码处理-str与Unicode的区别
Sep 06 Python
python编写微信远程控制电脑的程序
Jan 05 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
Python+OpenCV实现车牌字符分割和识别
Mar 31 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
对Python 多线程统计所有csv文件的行数方法详解
Feb 12 Python
基于wxPython的GUI实现输入对话框(2)
Feb 27 Python
python实现自动化上线脚本的示例
Jul 01 Python
python turtle工具绘制四叶草的实例分享
Feb 14 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
Python dict的常用方法示例代码
Jun 23 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 array操作10个小技巧分享
2011/06/23 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
jQuery中DOM树操作之使用反向插入方法实例分析
2015/01/23 Javascript
javascript实现带节日和农历的日历特效
2015/02/01 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
深入解析Python编程中super关键字的用法
2016/06/24 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
Django model序列化为json的方法示例
2018/10/16 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
Django的用户模块与权限系统的示例代码
2019/07/24 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
python实现猜拳游戏项目
2020/11/30 Python
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
Servlet方面面试题
2016/09/28 面试题
医学院毕业生自荐信
2013/11/08 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
大学学习计划书范文
2014/05/02 职场文书
教师师德考核自我评价
2014/09/13 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python