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实现递归版汉诺塔示例(汉诺塔递归算法)
Apr 08 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Django 源码WSGI剖析过程详解
Aug 05 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
简单了解pytest测试框架setup和tearDown
Apr 14 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 Python
Python 在 VSCode 中使用 IPython Kernel 的方法详解
Sep 05 Python
深度学习tensorflow基础mnist
Apr 14 Python
python之基数排序的实现
Jul 26 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中get_defined_constants函数用法实例分析
2015/05/12 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
PHP Swoole异步Redis客户端实现方法示例
2019/10/24 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
风吟的小型JavaScirpt库 (FY.JS).
2010/03/09 Javascript
分享27款非常棒的jQuery 表单插件
2011/03/28 Javascript
jquery复选框全选/取消示例
2013/12/30 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
javascript制作的cookie封装及使用指南
2015/01/02 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
js同源策略详解
2015/05/21 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
Nodejs实现短信验证码功能
2017/02/09 NodeJs
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
深入浅出理解JavaScript高级定时器原理与用法
2018/08/02 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python常见字符串操作函数小结【split()、join()、strip()】
2018/02/02 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
CSS3 实用技巧:实现黑白图像效果示例代码
2013/07/11 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
法律专业个人实习自我鉴定
2013/09/23 职场文书
考试作弊被抓检讨书
2014/01/10 职场文书
中秋寄语大全
2014/04/11 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
预备党员群众意见
2015/06/01 职场文书
总结Python常用的魔法方法
2021/05/25 Python
MySQL令人大跌眼镜的隐式转换
2021/08/23 MySQL
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS