如何在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)