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 相关文章推荐
wxPython学习之主框架实例
Sep 28 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
python 捕获shell脚本的输出结果实例
Jan 04 Python
python模拟登录并且保持cookie的方法详解
Apr 04 Python
python获取多线程及子线程的返回值
Nov 15 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
Django 自定义404 500等错误页面的实现
Mar 08 Python
python2.7使用scapy发送syn实例
May 05 Python
简述python&amp;pytorch 随机种子的实现
Oct 07 Python
Ubuntu16安装Python3.9的实现步骤
Dec 15 Python
python 用递归实现通用爬虫解析器
Apr 16 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
php广告加载类用法实例
2014/09/23 PHP
PHP代码维护,重构变困难的4种原因分析
2016/01/25 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
php实现商城购物车的思路和源码分析
2020/07/23 PHP
Javascript中的变量使用说明
2010/05/18 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
根据表格中的某一列进行排序的javascript代码
2013/11/29 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
学做Bootstrap的第一个页面
2016/05/15 HTML / CSS
js实现页面跳转的几种方法小结
2016/05/16 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
js 毫秒转天时分秒的实例
2017/11/17 Javascript
Vue Router的懒加载路径的解决方法
2018/06/21 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
vue实现点击按钮切换背景颜色的示例代码
2020/06/23 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
Python标准库之collections包的使用教程
2017/04/27 Python
Python使用struct处理二进制的实例详解
2017/09/11 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
电焊工岗位工作职责
2014/07/09 职场文书
小学生感恩父母演讲稿
2014/08/28 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
Nginx工作原理和优化总结。
2021/04/02 Servers
python实现MD5进行文件去重的示例代码
2021/07/09 Python
基于Go语言构建RESTful API服务
2021/07/25 Golang
python实现简单石头剪刀布游戏
2021/10/24 Python