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获取mp3文件信息的方法
Jun 15 Python
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
Python实现将文本生成二维码的方法示例
Jul 18 Python
Tornado 多进程实现分析详解
Jan 12 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
pycharm中显示CSS提示的知识点总结
Jul 29 Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 Python
PyCharm如何导入python项目的方法
Feb 06 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
Python unittest 自动识别并执行测试用例方式
Mar 09 Python
pandas数据拼接的实现示例
Apr 16 Python
Python实现微信表情包炸群功能
Jan 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 HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
微信小程序 网络API Websocket详解
2016/11/09 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
JS实现简易留言板(节点操作)
2020/03/16 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
使用python编写监听端
2018/04/12 Python
python实现京东秒杀功能
2018/07/30 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
PyCharm的设置方法和第一个Python程序的建立
2019/01/16 Python
Python向excel中写入数据的方法
2019/05/05 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
python实现猜拳游戏
2020/03/04 Python
python利用后缀表达式实现计算器功能
2021/02/22 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
雅萌 (YA-MAN) :日本美容家电领域的龙头企业
2017/05/12 全球购物
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
护士演讲稿范文
2014/01/05 职场文书
劳资协议书范本
2014/04/23 职场文书
幼儿园教师个人工作总结2015
2015/05/12 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
慰问信的写作格式及范文!
2019/06/24 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL