4 天道高高在上 1天前 86次点击
把 CC 0101055687654 C B 转化为十进制。首先将每个十六进制数字转换为对应的 4 位二进制数字:
“C”对应的二进制是 1100 ,“0”对应的二进制是 0000 ,“1”对应的二进制是 0001 ,“5”对应的二进制是 0101 ,“6”对应的二进制是 0110 ,“8”对应的二进制是 1000 ,“7”对应的二进制是 0111 ,“4”对应的二进制是 0100 ,“B”对应的二进制是 1011 。
所以“CC0101055687654CB”转换为二进制为:
110011000000000100000101010101010110100001110110010101001000101100
然后将二进制转换为十进制:
从右往左,第 0 位的权重为 2^0 ,第 1 位的权重为 2^1 ,以此类推。
\begin{align*}
&0×2^0 + 1×2^1 + 1×2^2 + 0×2^3 + 0×2^4 + 1×2^5 + 0×2^6 + 1×2^7 + 0×2^8 + 0×2^9 + 0×2^{10} + 1×2^{11} + 1×2^{12} + 0×2^{13} + 0×2^{14} + 1×2^{15} + 1×2^{16} + 0×2^{17} + 1×2^{18} + 0×2^{19} + 1×2^{20} + 0×2^{21} + 1×2^{22} + 0×2^{23} + 1×2^{24} + 1×2^{25} + 0×2^{26} + 0×2^{27} + 0×2^{28} + 1×2^{29} + 1×2^{30} + 0×2^{31}\\
=&2 + 4 + 32 + 64 + 2048 + 4096 + 16384 + 65536 + 262144 + 1048576 + 4194304 + 16777216 + 67108864 + 268435456 + 1073741824 + 4294967296\\
=&5768807422
\end{align*}
以下是用 Python 实现的转换代码:
python
def hex_to_dec(hex_value):
bin_value = bin(int(hex_value, 16))[2:]
dec_value = 0
for i, bit in enumerate(bin_value[::-1]):
if bit == '1':
dec_value += 2 ** i
return dec_value
hex_value = "CC0101055687654CB"
print(hex_to_dec(hex_value))
嗯,我本来要去试试做一个这样的工具,但是呢,我今天学到了如何播放音频,我要做点儿别的试试,这玩意还有点儿难度,所以先不做了,他写的这个对不对,大概率可能会出点儿缩进错误,少个括号什么的,语法错误啊什么的