中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python實現整數的二進制循環移位

發布時間:2020-10-12 00:07:34 來源:腳本之家 閱讀:464 作者:C小C 欄目:開發技術

題目:如何在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實現整數的二進制循環移位

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平潭县| 含山县| 澜沧| 仪征市| 嘉兴市| 德安县| 孟津县| 元谋县| 萝北县| 开阳县| 黄浦区| 陆良县| 喀喇| 顺平县| 隆化县| 沅江市| 灵石县| 鹰潭市| 临颍县| 旬阳县| 久治县| 文水县| 海林市| 邵阳市| 京山县| 铅山县| 南平市| 瑞昌市| 宁德市| 克东县| 泽库县| 合阳县| 河池市| 柘荣县| 观塘区| 宜川县| 宜兴市| 昌江| 上蔡县| 辽源市| 营山县|