최상의 답변
차이 B / w Short 및 Long int
음, 차이는 매우 작지만 경우에 따라 매우 중요 할 수 있습니다. 프로그래밍 할 때 두 번째로 중요한 목표 (프로그램이 예상대로 수행하도록 만든 후)는 프로그램이 가능한 빨리 실행되도록 메모리를 절약하는 것입니다. 이것이 당신의 키워드 “long”이 들어오는 곳입니다. long은 정수이지만 정수는 “정확히 long 이해가 아닙니까?” “short”도 있습니다. 이제 보통 이것들은 그 뒤에 int로 참조되지만 필수는 아닙니다. 컴퓨터에 따라 다르지만 대부분의 경우 “short”는 2 바이트, “long”은 4 바이트, “int”는 2 또는 4 바이트가 될 수 있습니다. 프로그램에서이를 선언하는 것이 중요합니다. 숫자가 얼마나 클지, 얼마나 자주 수정 될지 정확히 알고 있다면 짧거나 길어 가능한 한 많은 메모리를 절약 할 수 있습니다. 이제 범위는 int의 크기에 따라 달라집니다. 2 또는 4 바이트입니다. 다음은 크기와 값을 참조하는 표입니다.
유형 크기 범위
short int 2 바이트 -32,768 ~ 32,767
long int 4 바이트 -2,147,483,648 ~ 2,147,483,647
int (16 비트) 2 바이트 -32,768 ~ 32,767
int (32 비트) 4 바이트 -2,147 , 483,648 ~ 2,147,483,647
차이 B / w Float 및 Double
실수라고도하는 부동 소수점 숫자 숫자는 소수 정밀도가 필요한 표현식을 평가할 때 사용됩니다. 예를 들어 제곱근과 같은 계산이나 사인 및 코사인과 같은 초월 적 계산은 정밀도에 부동 소수점 유형이 필요한 값이됩니다. Java는 부동 소수점 유형 및 연산자의 표준 (IEEE–754) 세트를 구현합니다. 부동 소수점 유형에는 각각 단 정밀도 및 배정 밀도 숫자를 나타내는 float 및 double의 두 가지 종류가 있습니다. 너비와 범위는 다음과 같습니다.
이름 너비 (비트 범위)
double 64 1 .7e–308 ~ 1.7e + 308
float 32 3 .4e–038 ~ 3.4e + 038
각 다음으로 부동 소수점 유형을 살펴 봅니다.
float
float 유형은 32 비트 스토리지를 사용하는 단 정밀도 값을 지정합니다. 단 정밀도는 일부 프로세서에서 더 빠르며 배정 밀도의 절반 정도의 공간을 차지하지만 값이 매우 크거나 매우 작 으면 부정확해질 수 있습니다. float 유형의 변수는 분수 구성 요소가 필요할 때 유용하지만 큰 정밀도는 필요하지 않습니다. 예를 들어, float는 달러와 센트를 나타낼 때 유용 할 수 있습니다.
다음은 float 변수의 예입니다. 선언 :
float hightemp, lowtemp;
double
double 키워드로 표시되는 배정 밀도는 64 비트를 사용하여 값을 저장합니다. 배정 밀도는 실제로 고속 수학에 최적화 된 일부 최신 프로세서에서 단 정밀도보다 빠릅니다. 계산. sin (), cos () 및 sqrt ()와 같은 모든 초월 적 수학 함수는 이중 값을 반환합니다. 많은 반복 계산에서 정확도를 유지해야하거나 큰 값을 조작하는 경우 double이 최선의 선택입니다. .
다음은 이중 변수를 사용하여 원의 면적을 계산하는 짧은 프로그램입니다.
// 계산 e 영역.
class Area {
public static void main (String args []) {
double 파이, r, a;
r = 10.8; // 원의 반경
pi = 3.1416; // pi, 대략
a = pi * r * r; // 계산 영역
System.out.println ( “원의 영역은”+ a);
}
}
답변
평소와 마찬가지로 상황에 따라 다릅니다 . short 및 long의 정확한 크기는 컴파일러 구현 자에게 맡겨져 대상 아키텍처에 가장 적합한 표현을 선택합니다. sizeof(short) == sizeof(int) == sizeof(long)
일 가능성은 있지만 거의 같지 않습니다. 즉, 모두 동일합니다. 유일하게 보장 할 수있는 것은 short의 크기가 long의 크기보다 작거나 같음 이라는 것입니다. 정확한 크기를 보려면
헤더를 사용하세요. 또는 추악한 세부 사항을 추상화하려면
의 std::numeric\_limits
템플릿을 사용하세요.
유사한 추론이 float 및 double이지만 여기서는 float
가 단 정밀도 부동 소수점 숫자 (4 바이트)를 나타내고 double
가 배정 밀도 부동 소수점 숫자 (8 바이트). IEEE 754 를 가정하는 소프트웨어가 너무 많이 작성되었으므로 컴파일러 작성자가 규칙에서 벗어날 가능성이 적습니다.