如何将负十进制数转换为十六进制?

4
hex = Number(-59).toString(16)

hex是-3b

hex应该是ffffffffffffffC5

感谢任何帮助!


2
为什么十六进制应该是C5?C5代表197。 - Iłya Bursov
抱歉,无法翻译此内容。 - boom
1个回答

0
如果数字是负数,则保留符号。特别是当基数为2时,它返回数字的二进制(零和一),前面带有一个负号,但是是二进制补码。
这就是Number类型的toString()方法的工作原理,它不会输出二进制补码。
换句话说,toString()方法将数字转换为正数,显示其十六进制表示形式,如果该数字为负数,则只在其前面加上减号-

我明白了,我会写一个函数来获取我需要的对话。谢谢! - boom
@boom 不客气,请不要忘记接受他的答案,如果它回答了你的问题。谢谢。 - Ibrahim Najjar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接