我正在从Berkeley 61B MOOC做一个项目。在这里,我必须创建一个数组来表示图像的像素和每个的RGB值。我正在使用3D数组:
image=new int[width][height][3];
但是,我从项目的描述中得出了这个声明:
每个像素有三个数字,范围为0 ... 255,表示 像素的红色,绿色和蓝色强度。这三个字节是 称为图像的RGB值。一个像素,其中所有三个 值为零是纯黑色,以及所有三个值的像素 255是亮白色。虽然Java有一个“字节”整数类型,但它的 范围是-128 ... 127,所以我们通常会使用Java的“短”类型 采用RGB参数或返回RGB值的方法。
据我所知,int类型足以包含0-255的值。 请用简单的英语帮助我理解建议使用短数据类型的原因。
答案 0 :(得分:-1)
int为32位,short为16,byte为8.对于[0,255]范围,不需要32位,但字节范围[-128,127]不适用于代表RGB,所以你得的很短。