日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

在python语言中下列是二进制整数_Python从菜鸟到高手(5):数字

發布時間:2025/3/19 python 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在python语言中下列是二进制整数_Python从菜鸟到高手(5):数字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python從菜鳥到高手(5):數字

發布時間:2020-07-12 02:17:50

來源:51CTO

閱讀:1005

作者:androidguy

1 基礎知識

Python語言與其他編程語言一樣,也支持四則運算(加、減、乘、除),以及圓括號運算符。在Python語言中,數字分為整數和浮點數。整數就是無小數部分的數,浮點數就是有小數部分的數。例如,下面的代碼是標準的四則運算表達式。

2 + 4

4 * 5 + 20

5.3 / 7

(30 + 2) * 12

如果要計算兩個數的除法,不管分子和分母是整數還是浮點數,使用除法運算符(/)的計算結果都是浮點數。例如1/2的計算結果是0.5,2/2的計算結果是1.0。要想讓Python解釋器執行整除操作,可以使用整除運算符,也就是兩個斜杠(//)。使用整除運算符后,1 // 2的計算結果是0,2 // 2的結果是1。

整除運算符不僅能對整數執行整除操作,也能對浮點數執行整除操作,在執行整除操作時,分子分母只要有一個是浮點數,那么計算結果就是浮點數。例如,1.0 // 2的計算結果是0.0,2.0 // 2的結果是1.0。

除了四則運算符外,Python還提供了兩個特殊的運算符:%(取余運算符)和**(冪運算符)。取余運算符用于對整數和浮點數執行取余操作。例如,5 % 2的計算結果是1,而5.0 % 2的計算結果是1.0。從這一點可以看出,%和//類似,只要分子分母有一個是浮點數,計算結果就是浮點數。

冪運算符用于計算一個數值的冪次方。例如,2 3的計算結果是8,3.2 2的計算結果是10.24。

到現在為止,一共介紹了8個運算符,它們是圓括號((…))加(+)、減(-)、乘(*)、除(/)、整除(//)、取余(%)和冪運算符(**)。其中減號(-)也可以用于負號(一元運算符),所以現在涉及到9個運算符。既然涉及到這么多運算符,那么就有一個優先級的問題,也就是說,同一個表達式中包含有多個不同的運算符,需要先計算優先級高的運算符,如果優先級相同個,那么就按從左向右的順序執行。

這9個運算符的優先級順序如下圖所示。越靠前優先級越高,同一行的運算符的優先級相同。

下面的代碼演示了Python語言中運算符的使用方法,在編寫Python代碼時,應該注意運算符的優先級問題。

print(2 + 4) # 運算結果:6

print(126 - 654) # 運算結果:-528

print(6 + 20 * 4) # 運算結果:86

print((20 + 54) * 30) # 運算結果:2220

print(1/2) # 運算結果:0.5

print(1//2) # 運算結果:0

print(3/2) # 運算結果:1.5

print(3//2) # 運算結果:1

print(4**3) # 運算結果:64

print(3 + 5 * -3 ** 4 - (-5)**2) # 運算結果:-427

# 用變量操作數值

x = 30

y = 50

k = 10.2

print(x + y * k) # 運算結果:540.0

2 大整數

對于有符號32位整數來說,可表示的最大值是2147483647(2^31 -1),可表示的最小值是-2147483648(-2^31),如果超過這個范圍,有符號32位整數就會溢出。不過在Python語言中,可以處理非常大的整數,并不受位數限制。例如,下面表達式的輸出結果就超出了32位整數的范圍。

print(2 ** 35) # 輸出2的35次冪,輸出結果是34359738368

讓我們再換個更大的數,看看會不會溢出。

print(2**630 * 100000) # 2的630次冪再乘10萬

上面這行代碼的輸出結果如下:

445550841564667501820426914619169074696604346410992180720624269326101090547722401025968047980212050759633038044296328838934443820446820117016861457004122479321483854917994624031530682836582400000

很顯然,Python語言仍然可以正確處理2*630 100000的計算結果。因此,在Python語言中使用數字不需要擔心溢出,因為Python語言可以處理非常大的數字,這也是為什么很多人使用Python語言進行科學計算和數據分析的主要原因之一。

3. 二進制、八進制和十六進制

Python語言可以表示二進制、八進制和十六進制數。表示這3個進制的數,必須以0開頭,然后分別跟著表示不同進制的字母。表示二進制的字母是b,表示八進制的字母是o(這是英文字母中小寫的o,不要和數字0搞混了),表示十六進制的字母是x。因此,二進制數的正確寫法是0b110011,八進制數的正確寫法是0o56432,十六進制數的正確寫法是0xF765A。

除了這3種進制外,前面章節一直使用的是十進制。因此,Python語言一共可以表示4種進制:二進制、八進制、十進制和十六進制。Python語言提供了一些函數用于在這4種進制數之間進行轉換。

如果是從其他進制轉換到十進制,需要使用int函數,該函數有兩個參數,含義如下:

? 第1個參數:字符串類型,表示待轉換的二進制、八進制或十六進制數。參數值只需要指定帶轉換的數即可,不需要使用前綴,如二進制直接指定11011,不需要指定0b11011。

? 第2個參數:數值類型,表示第1個參數值的進制,例如,如果要將二進制轉換為十進制,第2個參數值就是2。

int函數返回一個數值類型,表示轉換后的十進制數。

下面的代碼將二進制數110011轉換為十進制數,并輸出返回結果。

print(int("110011",2)) // 輸出結果:51

如果要從十進制轉換到其他進制,需要分別使用bin、oct和hex函數。bin函數用于將十進制數轉換為二進制數;oct函數用于將十進制數轉換為八進制數,hex函數用于將十進制數轉換十六進制數。這3個函數都接收一個參數,就是待轉換的十進制數。不過要注意,這3個函數的參數值也可以是二進制數、八進制數和十六進制數,也就是說,這3個函數可以在二進制、八進制、十進制和十六進制之間互轉。

下面的代碼將十進制數54321轉換為十六進制數,并輸出轉換結果。

print(hex(54321)) # 輸出結果:0xd431

下面的代碼演示了Python語言中二進制、八進制、十進制和十六進制數之間的轉換。

print(0b110011) # 輸出二進制數

print(0o123) # 輸出八進制數

print(0xF15) # 輸出十六進制數

print(bin(12)) # 十進制轉二進制,輸出結果:0b1100

print(int("10110",2)) # 二進制轉十進制,輸出結果:22

print(int("0xF35AE",16)) # 十六進制轉十進制,輸出結果:996782

print(hex(54321)) # 十進制轉十六進制,輸出結果:0xd431

print(bin(0xF012E)) # 十六進制轉二進制,輸出結果:0b11110000000100101110

print(hex(0b1101101)) # 二進制轉十六進制,輸出結果:0x6d

print(oct(1234)) # 十進制轉八進制,輸出結果:0o2322

print(int("76532", 8)) # 八進制轉十進制,輸出結果:32090

程序運行結果如下圖所示。

《Python從菜鳥到高手》開始轉載了,敬請關注

4 數字的格式化輸出

在輸出數字時,有時需要對其進行格式化。例如,在輸出12.34時,只希望保留小數點后1位數字,也就是12.3,或整數位按6位輸出,不足前面補0,也就是000012.34。Python語言中提供了format函數用于對數字進行格式化。format函數有兩個參數,含義如下:

? 第1個參數:要格式化的數字。

? 第2個參數:格式字符串。

format函數的返回值就是數字格式化后的字符串。

下面的代碼演示了format函數在格式化數字方面的應用。

x = 1234.56789

# 小數點后保留兩位數,輸出結果:'1234.57'

print(format(x, '0.2f'))

# 數字在12個字符長度的區域內右對齊,并保留小數點后1位數字,

# 輸出結果:' 1234.6'

print(format(x, '>12.1f'))

# 數字在12個字符長度的區域內左對齊,并保留小數點后3位數字,緊接著輸出20,

# 輸出結果:'1234.568 20'

print(format(x, '<12.3f'), 20)

# 數字在12個字符長度的區域內右對齊,并保留小數點后1位數字,數字前面補0,

# 輸出結果:'0000001234.6'

print(format(x, '0>12.1f'))

# 數字在12個字符長度的區域內左對齊,并保留小數點后1位數字,數字后面補0,

# 輸出結果:'1234.6000000'

print(format(x, '0<12.1f'))

# 數字在12個字符長度的區域內中心對齊,并保留小數點后2位數字,緊接著輸出3,

# 輸出結果:' 1234.57 3'

print(format(x, '^12.2f'),3)

# 每千位用逗號(,)分隔,輸出結果:1,234.56789

print(format(x, ','))

# 每千位用逗號(,)分隔,并保留小數點后2位數字,輸出結果:1,234.57

print(format(x, ',.2f'))

# 用科學計數法形式輸出數字,輸出結果:1.234568e+03

print(format(x, 'e'))

# 用科學計數法形式輸出數字,尾數保留小數點后2位數字,輸出結果:1.23E+03

print(format(x, '0.2E'))

程序運行結果如下圖所示。

《Python從菜鳥到高手》已經出版,開始連載了,購買送視頻課程

總結

以上是生活随笔為你收集整理的在python语言中下列是二进制整数_Python从菜鸟到高手(5):数字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。