導航:首頁 > 編程語言 > python二進制數字

python二進制數字

發布時間:2025-01-21 02:15:12

Ⅰ 如何用python將十進制數字轉為二進制,以及將二進制轉為十六進制

1、將十進制轉換成二進制,利用bin()方法。

Ⅱ 如何用python判斷某個二進制位數是否為偶數

下面是三種方式:

①通過模2除2(%2、/2)的方法

num%2——取出二進制的最後一位

num/2——右移去掉二進制的最後一位

通過while循環,依次取出二進制的最後一位數字判斷是否為1,若為1則count++,while(num)只有當num變為0時循環結束。

問題:在測試-1出現bug,-1的二進制中應該有32個1,輸出卻為0。我們將-1帶入代碼中發現-1%2=0,count不增,然後-1/2=0,循環結束,故輸出count的值為0。

解決方案:將變數num的數據類型改為unsigned int (無符號整型),此時表示的是正的整型的最大值,所以當num=-1時,表示二進制為32個1的正數,通過循環可以輸出正確的個數。

②通過右移操作符(>>)、按位與操作符(&)實現

Example:當num=10(1010),通過右移操作num>>i,二進制向右移動i位。

//i=0,num>>0,右移0位,此時(1010)&(0001)=0

//i=1,num>>1,右移1位,此時(0101)&(0001)=1,count++

//i=2,num>>2,右移2位,此時(0010)&(0001)=0

//i=3,num>>3,右移3位,此時(0001)&(0001)=1,count++

……

因為二進制共32位,所以循環要執行32次後結束,得到count為2。

缺點:不夠高效,必須循環32次。

③通過按位與操作符(&)巧妙運算實現

Example: 當num=15時,

1//num&(num-1)=(1111)&(1110)=(1110)

2//num&(num-1)=(1110)&(1101)=(1100)

3//num&(num-1)=(1100)&(1011)=(1000)

4//num&(num-1)=(1000)&(0111)=0 ,循環停止。共執行4次while循環。

(2)python二進制數字擴展閱讀

一、指定的某一位數置1

宏 #define setbit(x,y) x|=(1<<y)

二、指定的某一位數置0

宏 #define clrbit(x,y) x&=~(1<<y)

三、指定的某一位數取反

宏 #define reversebit(x,y) x^=(1<<y)

四、獲取的某一位的值

宏 #define getbit(x,y) ((x) >> (y)&1)



Ⅲ python輸入一個三位數 輸出百位十位個位數字的二進制數

s = 123
for i in list(str(s)):

print(bin(int(i)))

閱讀全文

與python二進制數字相關的資料

熱點內容
解壓包密碼消失 瀏覽:135
昆侖通態觸摸屏用戶窗加密 瀏覽:564
農信app怎麼看日額 瀏覽:865
iphone備忘錄包含視頻無法加密 瀏覽:283
抖音快手紅包源碼 瀏覽:137
程序員資源分析 瀏覽:586
linux交換分區大小 瀏覽:922
mt怎麼編譯 瀏覽:337
qq郵箱打開pdf 瀏覽:461
雲帆伺服器異常 瀏覽:797
初三文件夾多少頁夠用 瀏覽:878
怎樣用紙來做解壓玩具 瀏覽:275
主sip注冊伺服器地址 瀏覽:293
華為的配置命令 瀏覽:241
cmd怎麼打開java反編譯 瀏覽:683
陰離子表面活性劑分光光度計演算法 瀏覽:928
貨車空調壓縮機價格 瀏覽:557
決策樹演算法id3實例 瀏覽:685
隨意發言網源碼 瀏覽:370
app工商銀行怎麼查看卡狀態 瀏覽:550