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写的PHPMyAdmin暴力破解工具代码
Aug 06 Python
transform python环境快速配置方法
Sep 27 Python
利用python循环创建多个文件的方法
Oct 25 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
Python实现性能自动化测试竟然如此简单
Jul 30 Python
python for循环remove同一个list过程解析
Aug 14 Python
opencv转换颜色空间更改图片背景
Aug 20 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
python实现连续变量最优分箱详解--CART算法
Nov 22 Python
Python实现初始化不同的变量类型为空值
Jun 02 Python
Python实现GIF图倒放
Jul 16 Python
Python的信号库Blinker用法详解
Dec 31 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
单位速度在实战中的运用
2020/03/04 星际争霸
几个学习PHP的网址
2006/11/25 PHP
PHP编码规范之注释和文件结构说明
2010/07/09 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
YII中assets的使用示例
2014/07/31 PHP
实例讲解PHP页面静态化
2018/02/05 PHP
将HTML自动转为JS代码
2006/06/26 Javascript
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
JavaScript设计模式经典之命令模式
2016/02/24 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
layui实现文件或图片上传记录
2018/08/28 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
vant 中van-list的用法说明
2020/11/11 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
[02:08]2014DOTA2国际邀请赛 430专访:力争取得小组前二
2014/07/11 DOTA
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python中强大的命令行库click入门教程
2016/12/26 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
python 图像平移和旋转的实例
2019/01/10 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
拉夫劳伦爱尔兰官方网站:Ralph Lauren爱尔兰
2020/04/10 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
基层党员对照检查材料
2014/08/25 职场文书
父亲婚礼答谢词
2015/01/04 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js