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实现sublime3的less编译插件示例
Apr 27 Python
Python简单定义与使用字典dict的方法示例
Jul 25 Python
python实现感知器算法详解
Dec 19 Python
Python 实现选择排序的算法步骤
Apr 22 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
python文本数据处理学习笔记详解
Jun 17 Python
python实现Dijkstra算法的最短路径问题
Jun 21 Python
django多个APP的urls设置方法(views重复问题解决)
Jul 19 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
使用Python+selenium实现第一个自动化测试脚本
Mar 17 Python
一篇文章教你用python画动态爱心表白
Nov 22 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
Jan 05 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实现利用MySQL保存session的方法
2014/08/23 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
js停止输出代码
2008/07/20 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
用JavaScript来美化HTML的select标签的下拉列表效果
2015/11/17 Javascript
jQuery中的siblings用法实例分析
2015/12/24 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
python正则表达式match和search用法实例
2015/03/26 Python
说一说Python logging
2016/04/15 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
python3之模块psutil系统性能信息使用
2018/05/30 Python
Django 登陆验证码和中间件的实现
2018/08/17 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
对python多线程SSH登录并发脚本详解
2019/02/14 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
pycharm如何使用anaconda中的各种包(操作步骤)
2020/07/31 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
印度尼西亚电子产品购物网站:Kliknklik
2018/06/05 全球购物
数据库笔试题
2013/05/09 面试题
宿舍打麻将检讨书
2014/01/24 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
初中英语演讲稿
2014/04/29 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
入伍通知书
2015/04/23 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫