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实现定制交互式命令行的方法
Jul 03 Python
Django返回json数据用法示例
Sep 18 Python
Python读取文件内容的三种常用方式及效率比较
Oct 07 Python
对tensorflow 的模型保存和调用实例讲解
Jul 28 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
Django logging配置及使用详解
Jul 23 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
使用Python封装excel操作指南
Jan 29 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 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使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
JS JSOP跨域请求实例详解
2016/07/04 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
vue 解除鼠标的监听事件的方法
2019/11/13 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
Django入门使用示例
2017/12/12 Python
一道python走迷宫算法题
2018/01/22 Python
Python实现简单的文本相似度分析操作详解
2018/06/16 Python
Python自定义装饰器原理与用法实例分析
2018/07/16 Python
python实现归并排序算法
2018/11/22 Python
python将txt文件读取为字典的示例
2018/12/22 Python
解决python明明pip安装成功却找不到包的问题
2019/08/28 Python
python3实现raspberry pi(树莓派)4驱小车控制程序
2020/02/12 Python
Python实现手绘图效果实例分享
2020/07/22 Python
Django如何批量创建Model
2020/09/01 Python
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
Diamondback自行车:拥有你的冒险
2019/04/22 全球购物
2014年高三毕业生自我评价
2014/01/11 职场文书
文明礼仪标语
2014/06/13 职场文书
美化环境标语
2014/06/20 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
2014年派出所工作总结
2014/11/21 职场文书
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
Vue.Draggable实现交换位置
2022/04/07 Vue.js
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python