一、16進制基礎知識
1、16進制是一種常見的進制數表示方式,使用16個字符來表示10~15和0~9這16個數字,分別為0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
2、16進制數在計算機中通常用來表示字節(8位)。這是因為每個16進制數可以表示4個二進制數位。
3、在Python中,可以使用int()函數將16進制字符串轉換為整數,也可以使用hex()函數將整數轉換為16進制字符串。
#將16進制字符串轉換為整數 hex_str = '1A' num = int(hex_str, 16) print(num) #輸出結果為26 #將整數轉換為16進制字符串 num = 26 hex_str = hex(num) print(hex_str) #輸出結果為0x1a
二、使用print打印16進制數
1、在Python中,可以使用print()函數將16進制數以不同的方式打印出來。
2、使用%s佔位符可以將16進制數以字符串的形式打印出來。
3、使用%x佔位符可以將16進制數以整數的形式打印出來。
4、使用%X佔位符可以將16進制數以大寫字母形式的整數打印出來。
#以字符串形式打印16進制數
hex_num = 0x1a
print('16進制數為:%s' % hex(hex_num)) #輸出結果為16進制數為:0x1a
#以整數形式打印16進制數
hex_num = 0x1a
print('16進制數為:%d' % hex_num) #輸出結果為16進制數為:26
#以大寫字母形式的整數形式打印16進制數
hex_num = 0x1a
print('16進制數為:%X' % hex_num) #輸出結果為16進制數為:1A
三、使用格式化字符串打印16進制數
1、在Python3.6及以上版本中,可以使用f-string格式化字符串來打印16進制數。
2、可以在花括號中使用冒號和x/X來指定使用小寫字母或者大寫字母輸出16進制數。
#使用f-string打印16進制數
hex_num = 0x1a
print(f'16進制數為:{hex_num:#x}') #輸出結果為16進制數為:0x1a
#使用f-string打印大寫字母形式的16進制數
hex_num = 0x1a
print(f'16進制數為:{hex_num:#X}') #輸出結果為16進制數為:0X1A
四、16進制數的運算
1、在Python中,可以使用&、|、^等位運算符進行16進制數的運算。
2、可以使用int()函數將16進制字符串轉換為整數,進行運算之後再將結果轉換為16進制字符串。
#16進制數的位運算
hex_num1 = int('0x1a', 16)
hex_num2 = int('0x0b', 16)
#&運算
result = hex_num1 & hex_num2
print(hex(result)) #輸出結果為0x0a
#|運算
result = hex_num1 | hex_num2
print(hex(result)) #輸出結果為0x1b
#^運算
result = hex_num1 ^ hex_num2
print(hex(result)) #輸出結果為0x11
# ~運算
result1 = ~hex_num1
result2 = ~hex_num2
print(hex(result1),hex(result2)) #輸出結果為0xffffffe5,0xfffffff4
五、二進制數與16進制數的轉換
1、在Python中,可以使用bin()函數將整數轉換為二進制字符串,也可以使用int()函數將二進制字符串轉換為整數。
2、可以使用int()函數將16進制字符串轉換為整數,然後再使用bin()函數將整數轉換為二進制字符串。
#將整數轉換為二進制字符串 num = 26 bin_str = bin(num) print(bin_str) #輸出結果為0b11010 #將二進制字符串轉換為整數 bin_str = '11010' num = int(bin_str, 2) print(num) #輸出結果為26 #將16進制字符串轉換為二進制字符串 hex_str = '1A' num = int(hex_str, 16) bin_str = bin(num) print(bin_str) #輸出結果為0b11010
六、小結
本文主要介紹了Python中print16進制的使用方法。我們學習了16進制基礎知識、使用print函數打印16進制數、使用格式化字符串打印16進制數、16進制數的運算、二進制數與16進制數的轉換等方面的內容。在實際開發過程中,這些知識點都是非常有用的,希望可以幫助到大家。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/188973.html
微信掃一掃
支付寶掃一掃