在谈论整数时,32位/ 8位和两位补码意味着什么?

时间:2013-05-10 23:36:37

标签: java graphics integer

我正在研究的一本书一直提到以24位或8位整数存储颜色值。我搜索了java docs,但所有提到的是整数/字节是“32位带符号二进制补码整数/ 8位有符号”。谢谢。

1 个答案:

答案 0 :(得分:1)

这些书正在讨论如何存储颜色信息,以及它可以有多少值。

整数可以存储在许多不同大小的容器中,但最常见的是C / C ++(可能还有Java?):

  • 8位(即char
  • 16位(即short
  • 32位(即intlong

在你的情况下,24bit指的是它使用24位来存储颜色信息这一事实,它给你2 ^ 24个颜色值(16,777,216)。类似地,8位颜色值可以存储256个值。

2的comp指的是表示有符号值的方法。请参阅:http://en.wikipedia.org/wiki/Two%27s_complement

据我所知,颜色值通常是未签名的,因此它并不适用于您的问题。