【问题标题】:Why use short data type for storing RGB values?为什么使用短数据类型来存储 RGB 值?
【发布时间】:2017-01-25 09:15:50
【问题描述】:

我正在伯克利 61B MOOC 做一个项目。在此,我必须创建一个数组来表示图像的像素和每个像素的 RGB 值。我正在使用 3D 数组:

image=new int[width][height][3];

但是,我从项目描述中看到了这样的声明:

每个像素都有 0...255 范围内的三个数字,表示 像素的红色、绿色和蓝色强度。这三个字节是 称为图像的 RGB 值。一个像素,其中所有三个 值为零是纯黑色,其中所有三个值的像素 是255是亮白色。尽管 Java 有一个“字节”整数类型,但它的 范围是 -128...127,所以我们通常会使用 Java 的“short”类型 接受 RGB 参数或返回 RGB 值的方法。

据我所知,int 类型足以包含 0-255 之间的值。 请用简单的英语帮助我理解建议使用短数据类型的原因。

【问题讨论】:

标签: java integer int short


【解决方案1】:

int 是 32 位,short 是 16,byte 是 8。[0, 255] 范围不需要 32 位,但是 byte 的范围 [-128, 127] 不适合表示 RGB,所以 short 是你得到了什么。

【讨论】:

  • 字节是 8 位,它有所有需要的范围。是否决定将其表示为无符号或有符号值取决于您,它不会影响程序的工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2010-11-05
  • 2018-01-15
  • 1970-01-01
  • 2011-04-08
  • 2021-10-02
相关资源
最近更新 更多