如何将int转换为十六进制和十六进制转换为int以获取以下值?

时间:2015-12-17 08:06:50

标签: javascript numbers int hex

我无法理解从十六进制到int和int到十六进制的转换。值t06713707如何等于6,713,707?如何从一个到另一个?

这是我在调试器中看到的:

enter image description here

如果我将红色,绿色和蓝色加在一起,我会得到:

0x66716b

如果我将这三个值乘以:

102 + 113 + 107 = 322;

102 * 113 * 107 = 1,233,282; 来自何处?你能告诉我你的工作吗?

背景
我正在处理颜色,在HTML和CSS中你使用#FF0000代表红色。但是在JavaScript和ActionScript中,当您访问这些颜色时,它们将返回int和数字。

2 个答案:

答案 0 :(得分:1)

0x66716b只是串联,如果红色(66),绿色(67)和蓝色(6b)十六进制值,0x是一种说法“这是十六进制而非十进制”(这就是为什么有[0x ## ]调试器中小数旁边的值)

我很确定6713707就是你将66716b以十六进制转换为十进制,即IEG。 1 x b(b = 11)+ 16 x 6 + 256 x 1 + 4096 x 7 + ....(我没有计算器来确定/做其余的事。)

希望我帮助过!

答案 1 :(得分:0)

RGB值是三个八位值,形成32位值的低24位(高八位有时称为" alpha通道")。因此,您的完整32位十六进制值为0x0066716b。 Converting hex to decimal给出值6713707.