【发布时间】:2015-04-28 05:35:57
【问题描述】:
我正在处理 CSS 颜色和十六进制编码。白色以 CSS RGB 表示法表示为十六进制 #FFFFFF,或 Javascript 中的 0xFFFFFF。
如果我理解正确,十六进制数中的每个位置都是从 0 到 16。所以一系列六个 F 等于 16 * 16 * 16 * 16 * 16 * 16,或 16 的 6 次方:数学.pow(16, 6)。此操作的结果是 16777216。
我们还可以将十六进制值解析为以 10 为底:parseInt(0xFFFFFF, 10)。此操作的结果是 16777215。
为什么这两个操作相差1?
【问题讨论】:
-
比较 999 和 10*10*10。
-
你为什么要解析以 10 为底的
0xFFFFFF?你的意思是parseInt("0xFFFFFF", 16)? -
@p.s.w.g 好奇心,而非实际需要。
-
@OliverCharlesworth 我知道范围 [0 到 999] 包含 1000 个不同的值。但是我们有六个十六进制位置,可以从 0 开始,每个位置最多 16 个。
-
原因完全一样,只是基数不同。
标签: javascript css hex rgb