2017-01-25 2 views
0

저는 Berkeley 61B MOOC에서 프로젝트를 진행하고 있습니다. 여기에서, 이미지의 픽셀과 각각의 RGB 값을 나타내는 배열을 만들어야합니다. 저도 같은에 대한 3 차원 배열을 사용하고 있습니다 :왜 RGB 값을 저장하는 데 짧은 데이터 형식을 사용합니까?

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

을 그러나, 나는이 프로젝트의 설명에서이 문에 온 :

각 픽셀은 표현의 범위는 0 ~ 255의 세 개의 숫자를 가지고 픽셀의 빨강, 녹색 및 파랑 농도. 이 세 바이트는 이미지의 RGB 값으로 알려진 입니다. 세 개의 값이 모두 0 인 픽셀은 검은 색이며, 세 개의 값이 모두인 픽셀은 밝은 흰색입니다. Java는 "byte"정수형을 가지고 있지만, 범위는 -128 ... 127이므로 일반적으로 RGB 매개 변수를 사용하거나 RGB 값을 반환하는 메서드에 Java의 "short"형식을 사용합니다.

내가 아는 한 int 형은 0-255의 값을 포함하기에 충분합니다. 짧은 데이터 형식의 사용을 제안하는 이유는 영어로 이해하기 쉽습니다.

+0

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html – eldo

+0

3 개의 값 대신 1 개의 int를 사용하는 것이 좋습니다 (3 개의 하위 바이트). – rom1v

답변

-1

int는 32 비트이며, short는 16이고 byte는 8입니다. [0, 255] 범위에는 32 비트가 필요하지 않지만 [-128, 127] 바이트는 RGB를 나타내는 데 적합하지 않으므로 short 네가 가진거야.

+0

바이트는 8 비트입니다. 필요한 모든 범위가 있습니다. 서명되지 않은 값이나 부호가있는 값으로 표현할지 여부는 프로그램의 작동에 영향을 미치지 않습니다. – Kayaman

관련 문제