如何在Excel中将64位数字转换为hex数字?
我正在尝试DEC2HEX(1000000000050000000)
但它出现#NUM! 因为这个函数的数字太大了。
是否有另一个function,我可以用这个数字转成hex?
有一个免费的加载项可以处理: Xnumbers
似乎工作正常:
=cvDecBase("1000000000050000000",16) --> DE0B6B3AA5EF080
如果要将十进制数转换为64位hexstring,假定十进制数在单元格A1中,则可以使用以下内容:
=CONCATENATE(DEC2HEX(B3/2^32),DEC2HEX(MOD(B3,2^32),8))
这将最多十进制值18,446,744,073,709,500,000或hex值0xfffffffffffff800。
奖金:
若要将hexstring转换为十进制,假定64位hexstring位于单元格A1中,并且包含16个字符,则可以使用以下命令:
=HEX2DEC(LEFT(A1,8))*2^32+HEX2DEC(RIGHT(A1,8))
您可以调整LEFT中的字符数(文本,[num_chars])以更好地满足您的需求。
如果你的hexstring有一个0x那么你可以使用下面的代码:
=HEX2DEC(MID(A1,3,8))*2^32+HEX2DEC(RIGHT(A1,8))
保罗
DEC2HEX函数有一个549,755,813,887的限制,试试这个公式它适用于数字高达281,474,976,710,655。
=DEC2HEX(A7/(16^9),3)&DEC2HEX(MOD(A7,16^9),9)