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操作xml文件详细介绍
Jun 09 Python
python通过zlib实现压缩与解压字符串的方法
Nov 19 Python
python使用正则表达式提取网页URL的方法
May 26 Python
Python中使用ElementTree解析XML示例
Jun 02 Python
自己编程中遇到的Python错误和解决方法汇总整理
Jun 03 Python
PyCharm使用教程之搭建Python开发环境
Jun 07 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
python安装twisted的问题解析
Aug 21 Python
对pandas的层次索引与取值的新方法详解
Nov 06 Python
Python单元测试模块doctest的具体使用
Feb 10 Python
python实现飞机大战项目
Mar 11 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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自动生成缩略图函数的源码示例
2019/03/18 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
jquery select操作的日期联动实现代码
2009/12/06 Javascript
让ie6也支持websocket采用flash封装实现
2013/02/18 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
javascript数组去重小结
2016/03/07 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
Boostrap实现的登录界面实例代码
2016/10/09 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
vue项目中使用多选框的实例代码
2020/07/22 Javascript
python安装numpy&amp;安装matplotlib&amp; scipy的教程
2017/11/02 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
Python3实现获取图片文字里中文的方法分析
2018/12/13 Python
OpenCV+face++实现实时人脸识别解锁功能
2019/08/28 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
python利用线程实现多任务
2020/09/18 Python
夜大毕业生自我评价分享
2013/11/10 职场文书
学校运动会开幕演讲稿
2014/01/04 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
伊琍体标语
2014/06/25 职场文书
房屋授权委托书范本
2014/10/07 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
学生检讨书怎么写
2015/05/07 职场文书
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android