python中的進製和位運算

2021-09-06 22:32:55 字數 1705 閱讀 4304

在計算機程式設計中,整數可以通過十進位制、二進位制、八進位制和十六進製制來表示

1、十進位制

基數:0、1、2、3、 4、 5、 6、 7、 8、 9

進製:逢10進1

位權:例如:123 = 100 + 20 + 3

2、二進位制

基數:0、1

進製:逢2進1

位權:例如:1100 = 8+ 4 + 0 + 0

3、八進位制

基數:0、1、2、3、4、5、6、7

進製:逢8進1

位權:例如:67 = 48 + 7

4、十六進製制

進製:逢16進1

位權:例如:ff= 255

程式中怎麼表示不同進製的數

寫法說明

列印num = 110

直接寫的數字就是10進製

直接列印其他進製數會顯示十進位制

num = 0o110

0o+八s進製數

oct(num),返回八進位制字串

num = 0b110

0b+二進位制數

bin(num),返回二進位制字串

num = 0x110

0x+十六 進製數

hex(num),返回十六進製制字串

計算機儲存的時候只能儲存數字資料,而且存的是數字的補碼。計算機對資料進行運算的時候是使用補碼進行運算的,將資料從計算機中讀出來看到的是原碼。

1.原碼

符號位+真值

說明:符號位:最高位是0表示正數,是1表示複數

真值:去掉正負,數字對應的二進位制

100的原碼:01100100

-100的原碼:11100100

2.反碼

正數的反碼:就是原碼

負數的反碼:原碼的符號位不變,其餘的位數取反。

100的反碼:01100100

-100的反碼:10011011

3.補碼

正數的補碼:還是原碼

負數的補碼:反碼+1

100的補碼:01100100

-100的補碼:10011100

符號說明

如果a=0b1010,b=0b1100

&按位與運算

a & b,結果為0b1000

|按位或運算

a | b,結果為0b1110

~按位取反

~b,結果為-0b1101

^按位異或

a ^ b,結果為0b110

<<

左移a<<1,結果為0b10100

>>

右移a>>1,結果為0b101

與運算:乙個位上的數如果和1與,可以保留這個位上的數;和0與可以置0。

應用:判斷乙個是逇奇偶性。

num %2==

0# num是偶數

# 如果是偶數這個數的二進位制的最低位為0,為1是奇數

num &1==

0# num是偶數

num &1==

1# num是奇數

左移n為相當於數字*2的n次方

右移n位相當於數字//2的n次方

應用:快速乘2,整除2操作。

isinstance(3

,int

)# true

print

(isinstance([

1,3]

,list))

# true

php 位運算與許可權,PHP中的位運算和進製處理

php中的位運算和進製是比較冷門的知識,感覺很簡單也很好理解,但是在實際場景中卻很少使用,本篇博文就是簡單了解基本概念以及講解如何去實際使用.位運算php中的位運算子是對整形進行的操作,比如對於十進位制,二進位制,八進位制等數字的一些操作.按位與 and 按位或 or 按位取反 not 按位異或 x...

位運算和進製轉換

位運算指的是對二進位制進行的計算處理。主要有 與 或 異或 求反 其特徵為 都是1的時候才是1 如 13 7 計算過程為 13的二進位制 1101 7的二進位制 0111 得到結果 0101 轉換成10進製則是5 計算過程為 1101 0111 按照或運算得到結果是 1111 轉化成10進製為 15...

Python進製之間的轉換和位運算整理

簡單整理下位運算的用法 value ff1a shi int value,16 16進製制轉10進製 第乙個引數value是要轉換的值,第二個引數是原資料的進製 print s的十進位制為 value,shi er bin shi 2 bin 十進位制轉換2進製 print d的二進位制為 shi,...