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 相关文章推荐
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
Python代码调试的几种方法总结
Apr 15 Python
Python发送form-data请求及拼接form-data内容的方法
Mar 05 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 Python
CentOS7安装Python3的教程详解
Apr 10 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
用python建立两个Y轴的XY曲线图方法
Jul 08 Python
python批量处理文件或文件夹
Jul 28 Python
python zip()函数的使用示例
Sep 23 Python
利用Python实现模拟登录知乎
May 25 Python
基于Python实现nc批量转tif格式
Aug 14 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
开启CURL扩展,让服务器支持PHP curl函数(远程采集)
2011/03/19 PHP
php 冒泡排序 交换排序法
2011/05/10 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
浅析php原型模式
2014/11/25 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
JS获取页面窗口大小的代码解读
2011/12/01 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
jQuery实现鼠标经过图片变亮其他变暗效果
2015/05/08 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
JS运动相关知识点小结(附弹性运动示例)
2016/01/08 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
在vue项目实现一个ctrl+f的搜索功能
2020/02/28 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python简易版图书管理系统
2019/08/12 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Android Q之气泡弹窗的实现示例
2020/06/23 Python
详解HTML5常用的语义化标签
2019/09/27 HTML / CSS
英国领先的NHS批准的在线药店:Pharmacy2U
2017/01/06 全球购物
项目经理岗位职责
2013/11/11 职场文书
《长城》教学反思
2014/02/14 职场文书
土木工程专业推荐信
2014/02/19 职场文书
授权收款委托书
2014/09/23 职场文书
市场总监岗位职责
2015/02/11 职场文书
搬迁通知
2015/04/20 职场文书
小学生红领巾广播稿
2015/08/19 职场文书