2013-05-10 73 views

回答

1

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

整数可以被存储在许多不同尺寸的容器,但最常见的在C/C++(?和可能的Java)有:

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

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

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

就我所知,颜色值通常是无符号的,所以它不适用于您的问题。

+0

你从哪里得到2^24中的2? – 2013-05-10 23:55:24

+1

这是基地。所以,因为这些值都是以二进制“比特”的形式存储的,它们是0或1,而你有24个,你会得到2^24个不同的值。 – LordOphidian 2013-05-11 00:04:10

+1

@IntentFilters如果我有2位信息(即2 1或0),我可以存储00 01 10 11(4值或2^2),如果我有3位信息,我可以存储000 001 010 011 100 101 110 111(8值或2^3)等等,一直到24位都是2^24的值 – 2013-05-11 12:40:45