Python輸入正負(fù)10進(jìn)制,轉(zhuǎn)4位16進(jìn)制問題
python輸入正負(fù)10進(jìn)制,轉(zhuǎn)4位16進(jìn)制
#輸入正負(fù)十進(jìn)制,轉(zhuǎn)4位16進(jìn)制 def int_transform_4hex(intNums): if intNums < 0: #如果是負(fù)數(shù) str_list_16nums = list(hex(intNums%65536)) insert_num = 'f' else: #如果是正數(shù) str_list_16nums = list(hex(intNums)) insert_num = '0' #補(bǔ)位數(shù) if len(str_list_16nums) == 5: str_list_16nums.insert(2, insert_num) elif len(str_list_16nums) == 4: str_list_16nums.insert(2, insert_num) str_list_16nums.insert(2, insert_num) elif len(str_list_16nums) == 3: str_list_16nums.insert(2, insert_num) str_list_16nums.insert(2, insert_num) str_list_16nums.insert(2, insert_num) else: pass crc_data = "".join(str_list_16nums) # 用""把數(shù)組的每一位結(jié)合起來 組成新的字符串 hexNums = crc_data[2:4] + ' ' + crc_data[4:] return hexNums if __name__ == '__main__': print(int_transform_4hex(200)) print(int_transform_4hex(-200))
程序運行結(jié)果如下(已檢測正確)
python負(fù)數(shù)十進(jìn)制轉(zhuǎn)化為16進(jìn)制
python負(fù)數(shù)轉(zhuǎn)換16進(jìn)制
import struct print(str(struct.pack("i",-15))[4:6]) print(hex(16**7 -15)[-2:]) print(hex(-15)) print() print(str(struct.pack("i",-263))[4:6]) print(hex(16**7 -263)[-2:]) print(hex(-263)) print() print(str(struct.pack("i",-10008))[4:6]) print(hex(16**7 -10008)[-2:]) print()
以下為輸出結(jié)果:
f1
f1
-0xff9
f9
-0x107e8
e8
c++算十六進(jìn)制的代碼,大意是 (假定x為正數(shù)):y= x % 256, 然后256 - y(若x為負(fù)數(shù)是256+y),然后在對結(jié)果進(jìn)行十六進(jìn)制轉(zhuǎn)換
我又在python里面試了一下
a = -99999 b = a % 256 print(b) print(hex(b))
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Win10+python3.6+git運行出現(xiàn)問題的解決
這篇文章主要介紹了Win10+python3.6+git運行出現(xiàn)問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06Python統(tǒng)計列表元素出現(xiàn)次數(shù)的方法示例
這篇文章主要介紹了Python統(tǒng)計列表元素出現(xiàn)次數(shù)的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python制作簡易版小工具之計算天數(shù)的實現(xiàn)思路
這篇文章主要介紹了Python制作簡易版小工具之計算天數(shù)的實現(xiàn)思路,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02