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实现倒计时的示例
Feb 14 Python
Python实现冒泡,插入,选择排序简单实例
Aug 18 Python
PyQt5 pyqt多线程操作入门
May 05 Python
Django使用HttpResponse返回图片并显示的方法
May 22 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
python用match()函数爬数据方法详解
Jul 23 Python
python线程中的同步问题及解决方法
Aug 29 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
PyQt使用QPropertyAnimation开发简单动画
Apr 02 Python
Python爬虫抓取论坛关键字过程解析
Oct 19 Python
Pytorch1.5.1版本安装的方法步骤
Dec 31 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
一个简单的自动发送邮件系统(一)
2006/10/09 PHP
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
php购物车实现代码
2011/10/10 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP中常用的输出函数总结
2014/09/22 PHP
用js得到网页中所有的div的id
2020/10/19 Javascript
JQuery textlimit 显示用户输入的字符数 限制用户输入的字符数
2009/05/14 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
js仿3366小游戏选字游戏
2016/04/14 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
BootStrap实现轮播图效果(收藏)
2016/12/30 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
windows实现npm和cnpm安装步骤
2019/10/24 Javascript
Vue实现图片与文字混输效果
2019/12/04 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
Map与WeakMap类型在JavaScript中的使用详解
2020/11/18 Javascript
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python字典,函数,全局变量代码解析
2017/12/18 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
python3 map函数和filter函数详解
2019/08/26 Python
python实现删除列表中某个元素的3种方法
2020/01/15 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
记一次Django响应超慢的解决过程
2020/09/17 Python
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
奥巴马演讲稿
2014/01/08 职场文书
超市开学活动方案
2014/03/01 职场文书
优秀食品类广告词
2014/03/19 职场文书
《赠汪伦》教学反思
2014/04/12 职场文书
绍兴鲁迅故居导游词
2015/02/09 职场文书
Android自定义双向滑动控件
2022/04/19 Java/Android