Python輸入正負10進制,轉4位16進制問題
更新時間:2023年06月03日 16:29:23 作者:wavepool18
這篇文章主要介紹了Python輸入正負10進制,轉4位16進制問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
python輸入正負10進制,轉4位16進制
#輸入正負十進制,轉4位16進制 def int_transform_4hex(intNums): if intNums < 0: #如果是負數(shù) str_list_16nums = list(hex(intNums%65536)) insert_num = 'f' else: #如果是正數(shù) str_list_16nums = list(hex(intNums)) insert_num = '0' #補位數(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ù)組的每一位結合起來 組成新的字符串 hexNums = crc_data[2:4] + ' ' + crc_data[4:] return hexNums if __name__ == '__main__': print(int_transform_4hex(200)) print(int_transform_4hex(-200))
程序運行結果如下(已檢測正確)
python負數(shù)十進制轉化為16進制
python負數(shù)轉換16進制
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()
以下為輸出結果:
f1
f1
-0xff9
f9
-0x107e8
e8
c++算十六進制的代碼,大意是 (假定x為正數(shù)):y= x % 256, 然后256 - y(若x為負數(shù)是256+y),然后在對結果進行十六進制轉換
我又在python里面試了一下
a = -99999 b = a % 256 print(b) print(hex(b))
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
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ù)的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04Python制作簡易版小工具之計算天數(shù)的實現(xiàn)思路
這篇文章主要介紹了Python制作簡易版小工具之計算天數(shù)的實現(xiàn)思路,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02