進製之間轉換

2022-07-28 17:00:23 字數 2053 閱讀 7202

明確乙個概念,即所謂的16進製制,10進製,2進製,只是一種整型數值的表示方法表示方法,同乙個數值可以有的16進製制,10進製,2進製的表示,也可以使用16進製制,10進製,2進製來建立同乙個數值。並且一般在一定範圍內,不同方式表示的同乙個數字在記憶體中的儲存結構也是相同的。

整形類數值根本就沒有進製轉換的概念

字串表示的數值可以稱它為字元型數值,這是一種數值的表示方法,其本質上是一些由數字和若干字幕所組成的用來表示乙個數值的字串,所謂的進製轉換,都要圍繞著它來進行。
進製轉換都可以分為:

1、整型轉換為字元字元型數值

bin()\ oct()\ hex()\str() (10進製,以及使用專有表示法定義的2/8/16進製制整型)

2進製、8進製、10進製、16進製制、的整型數值轉字元型數值函式

2、字元型數值轉換為整型

int() 

3、字元型數值互轉

轉換,可以參照下面的進製轉換表\

進製轉換表:

↓ 2進製 8進製 10進製 16進製制

2進製 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16))

8進製 oct(int(x, 2)) - oct(int(x, 10)) oct(int(x, 16))

10進製 str(int(x, 2)) str(int(x, 8)) - str(int(x, 16))

16進製制 hex(int(x, 2)) hex(int(x, 8)) hex(int(x, 10)) -

整型數值作為橋梁,而進行的不同的進製的字元型數值的轉換,int()函式可以將乙個字元型數值轉換為整型數值,就像上面所說的,整型數值型別並沒有進製轉換的概念,所以如果需要將這個整型數值以其它進製字元型數值進行轉,就還需要呼叫對應的整型轉換為字元型數值的函式。而python預設使用的就是10進製,所以如果要把整型數值轉換為10進製的字元型數值,實際上是什麼都不需要的,直接print即可
int有趣的地方就是可以進行0-36(不包括1)的進製轉換如:

>>> int("11",9)

10>>> int("13",7)

10>>> int("a",17)

100進製會自動判斷你是2/8/10/16進製制,如果不是這幾個會報錯

>>> int("111",0)

111>>> int("0b111",0)

7>>> int("0o111",0)

73>>> int("0x111",0)

273>>> int("0xff",0)

255>>> int("0xgg",0) # 17進製

traceback (most recent call last):

file "", line 1, in valueerror: invalid literal for int() with base 0: '0xgg'

將數值16轉換為2/8/10/16進製制的字串數值
bin(16)

'0b10000'

oct(16)

'020'

str(16)

'16'

hex(16)

'0x10'

2進製、8進製、10進製、16進製制、的整型數值轉字元型數值函式

2、字元型數值轉換為整型

將2/8/10/16進製制的字串轉換為數值16\

int("0b10000",2)

16int("0o020",8)

16int("16",10)

16int("0x10",16)

16

bin(int("16"))  # 10進製字元型數值轉2進製字元型數值

'0b10000'

oct(int("10",16)) # 16進製制字元型數值轉8進製字元型數值

'020'

bin(int("020",8)) # 8進製字元型數值轉2進製字元型數值

'0b10000'

進製之間轉換

簡介 二進位制轉換 二進位制轉八進位制 將二進位制從右至左,三個為一組,不夠左邊填0補齊,按權相加,拼接得到8進製 二進位制轉10進製 將二進位制數直接按權相加 二進位制轉16進製制 將二進位制從右至左,四個為一組,不夠左邊補0,按權相加,拼接得到10進製 轉為二進位制 八進位制轉二進位制 每乙個位...

進製之間轉換

對於整數部分,用被除數反覆除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。對於小數部分,採用連續乘以基數2,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱 乘基取整法 10進製數轉換成二進位制數,這...

進製轉換(2 16進製制之間任意進製轉換)

進製轉換 描述在16進製制中,大寫字母a代表10,b代表11,f代表15。請將x進製的數字a轉化為y進製,並輸出。輸入輸入分三行,第一行乙個數字x 2 x 16 第二行乙個數字y 2 y 16 第三行乙個數字a a最長6位 輸出輸出x進製的a的y進製表示。輸入樣例1 10 24輸出樣例1 100輸出...