我正在嘗試DEC2HEX(1000000000050000000)
,但它出現#NUM!因爲這個函數的數字太大了。如何在Excel中將64位數字轉換爲十六進制數字?
是否有另一個功能,我可以用來將此數字轉換爲十六進制?
我正在嘗試DEC2HEX(1000000000050000000)
,但它出現#NUM!因爲這個函數的數字太大了。如何在Excel中將64位數字轉換爲十六進制數字?
是否有另一個功能,我可以用來將此數字轉換爲十六進制?
DEC2HEX函數的極限值爲549,755,813,887
,試試這個公式,它適用於最多281,474,976,710,655的數字。
=DEC2HEX(A7/(16^9),3)&DEC2HEX(MOD(A7,16^9),9)
如果你想一個十進制數轉換爲64位十六進制字符串,假設十進制數在單元格A1中,可以使用以下內容:
=CONCATENATE(DEC2HEX(B3/2^32),DEC2HEX(MOD(B3,2^32),8))
這將工作到十進制值18,446,744,073,709,500,000或十六進制值0xfffffffffffff800。
獎勵:
從十六進制字符串轉換爲十進制,假設64位十六進制字符串是在單元格A1和包含16個字符,那麼你可以使用以下命令:
=HEX2DEC(LEFT(A1,8))*2^32+HEX2DEC(RIGHT(A1,8))
你可以調整LEFT中的字符數(文本,[num_chars])以更好地滿足您的需求。
如果您的十六進制字符串有0X那麼你可以使用下列內容:
=HEX2DEC(MID(A1,3,8))*2^32+HEX2DEC(RIGHT(A1,8))
保羅
不幸的是我需要的數字比281,474,976,710,655更大的有效的解決方案 – valmo