python 16进制加法_在python中追加2个十六进制值
我試圖在python中附加一些十六進制值,我似乎總是在數(shù)字之間得到0x.從我搜索的內(nèi)容來看,如果不將其轉(zhuǎn)換為點燃的值,這是不可能的?我不確定.
a = 0x7b
b = 0x80000
hex(a) + hex(b) = 0x7b0x80000
我不想中間的0x – 我需要,0x7b80000.還有其他辦法嗎?如果我轉(zhuǎn)換為整數(shù),我得到兩者的總和并將其轉(zhuǎn)換為十六進制是一個不同于0x7b80000的值
解決方法:
這是附加hex / int / bin值的更通用的方法.
僅適用于b的正值.
a = 0x7b
b = 0x80000
def append_hex(a, b):
sizeof_b = 0
# get size of b in bits
while((b >> sizeof_b) > 0):
sizeof_b += 1
# align answer to nearest 4 bits (hex digit)
sizeof_b += sizeof_b % 4
return (a << sizeof_b) | b
print(hex(append_hex(a, b)))
基本上你必須找到b具有的最高設(shè)置位.
將該數(shù)字與4的最高倍數(shù)對齊,因為這就是十六進制字符.
將a附加到之前找到的最高4的前面.
標簽:python,hex,string
總結(jié)
以上是生活随笔為你收集整理的python 16进制加法_在python中追加2个十六进制值的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 是啥意思_227大团结是什么梗啥意思 微
- 下一篇: lisp xy轴不等比缩放_UV的详细解