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获取Linux系统的各种信息
Jul 10 Python
详解Python中的Cookie模块使用
Jul 06 Python
scrapy-redis的安装部署步骤讲解
Feb 27 Python
python实现弹窗祝福效果
Apr 07 Python
python实现代码统计器
Sep 19 Python
详解从Django Allauth中进行登录改造小结
Dec 18 Python
Python气泡提示与标签的实现
Apr 01 Python
利用python 读写csv文件
Sep 10 Python
python 实用工具状态机transitions
Nov 21 Python
python re模块和正则表达式
Mar 24 Python
Python基础之教你怎么在M1系统上使用pandas
May 08 Python
python使用torch随机初始化参数
Mar 22 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 file_get_contents函数轻松采集html数据
2010/04/22 PHP
深入PHP变量存储的详解
2013/06/13 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
Javascript 中文字符串处理额外注意事项
2009/11/15 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
Vue项目中使用better-scroll实现一个轮播图自动播放功能
2018/12/03 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python中表示字符串的三种方法
2017/09/06 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
CSS3 选择器 属性选择器介绍
2012/01/21 HTML / CSS
纯CSS3实现手风琴风格菜单具体步骤
2013/05/06 HTML / CSS
详解通过变换矩阵实现canvas的缩放功能
2019/01/14 HTML / CSS
2014年教育教学工作总结
2014/11/13 职场文书
员工辞职信范文
2015/03/02 职场文书
校车司机安全责任书
2015/05/11 职场文书
cf战队宣传语
2015/07/13 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang