다음을 통해 공유


숫자 데이터 형식(Visual Basic)

Visual Basic은 다양한 표현에서 숫자를 처리하기 위해 여러 숫자 데이터 형식을 제공합니다. 정수 형식은 정수(양수, 음수 및 0)만 나타내고, 비정수 형식은 정수와 소수 부분이 모두 있는 숫자를 나타냅니다.

Visual Basic 데이터 형식을 나란히 비교하는 표를 보려면 데이터 형식을 참조하세요.

정수 숫자 형식

정수 데이터 형식은 소수 부분이 없는 숫자만 나타내는 형식입니다.

부호 있는 정수 데이터 형식은 SByte 데이터 형식(8비트), 짧은 데이터 형식(16비트), 정수 데이터 형식(32비트) 및 긴 데이터 형식(64비트)입니다. 변수가 항상 소수 자릿수가 아닌 정수를 저장하는 경우 이러한 형식 중 하나로 선언합니다.

부호 없는 정수 형식은 바이트 데이터 형식(8비트), UShort 데이터 형식(16비트), UInteger 데이터 형식(32비트) 및 ULong 데이터 형식(64비트)입니다. 변수에 이진 데이터 또는 알 수 없는 특성의 데이터가 포함된 경우 이러한 형식 중 하나로 선언합니다.

성능

다른 데이터 형식보다 정수 형식을 사용하면 산술 연산이 더 빠릅니다. Visual Basic에서 Integer 형식 및 UInteger 형식을 사용하여 가장 빠릅니다.

큰 정수

Integer 데이터 형식이 보유할 수 있는 것보다 큰 정수만 보유해야 하는 경우 대신 Long 데이터 형식을 사용할 수 있습니다. Long 변수는 -9,223,372,036,854,775,808에서 9,223,372,036,854,775,807까지의 숫자를 보유할 수 있습니다. Long 연산 속도가 Integer 연산 속도보다 약간 느립니다.

더 큰 값이 필요한 경우 10진수 데이터 형식을 사용할 수 있습니다. 소수 자릿수를 사용하지 않는 경우 -79,228,162,514,264,337,593,543,950,335에서 79,228,162,514,264,337,593,543,950,335까지의 숫자를 Decimal 변수에 저장할 수 있습니다. 그러나 Decimal 숫자가 있는 연산은 다른 숫자 데이터 형식보다 훨씬 느립니다.

작은 정수

Integer 데이터 형식의 전체 범위가 필요하지 않은 경우 -32,768에서 32,767까지의 정수를 보유할 수 있는 Short 데이터 형식을 사용할 수 있습니다. 가장 작은 정수 범위의 경우 SByte 데이터 형식은 -128에서 127까지의 정수를 보유합니다. 정수가 작은 변수가 매우 많은 경우 공용 언어 런타임에서 ShortSByte 변수를 보다 효율적으로 저장하고 메모리 소비를 절약할 수 있습니다. 그러나 ShortSByte 연산 속도는 Integer 연산 속도보다 다소 느립니다.

부호 없는 정수

변수가 음수를 보유할 필요가 없다는 것을 알고 있는 경우 부호 없는 형식Byte, UShort, UIntegerULong을 사용할 수 있습니다. 이러한 각 데이터 형식은 해당 부호 있는 형식(SByte, ShortIntegerLong)의 두 배에 해당하는 양의 정수를 보유할 수 있습니다. 성능 측면에서 각 부호 없는 형식은 해당 부호 있는 형식만큼 효율적입니다. 특히 UIntegerInteger와 모든 기본 숫자 데이터 형식 중에서 가장 효율적이라는 차이점을 공유합니다.

비정수 숫자 형식

비정수 데이터 형식은 정수 부분과 소수 부분이 모두 있는 숫자를 나타내는 형식입니다.

비정수 숫자 데이터 형식은 Decimal(128비트 고정 소수점), 단일 데이터 형식(32비트 부동 소수점) 및 이중 데이터 형식(64비트 부동 소수점)입니다. 모두 부호 있는 형식입니다. 변수에 분수가 포함될 수 있는 경우 이러한 형식 중 하나로 선언합니다.

Decimal은 부동 소수점 데이터 형식이 아닙니다. Decimal 숫자에는 이진 정숫값과 값의 어느 부분이 소수인지 지정하는 정수 배율 인수가 있습니다.

돈 값에 Decimal 변수를 사용할 수 있습니다. 이점은 값의 정밀도입니다. Double 데이터 형식은 더 빠르며 메모리가 적게 필요하지만 반올림 오류가 발생할 수 있습니다. Decimal 데이터 형식은 28자리의 소수 자릿수까지 완전한 정확도를 유지합니다.

부동 소수점(SingleDouble) 숫자는 Decimal 숫자보다 범위가 크지만 반올림 오류가 발생할 수 있습니다. 부동 소수점 형식은 Decimal보다 적은 유효 자릿수를 지원하지만 더 큰 크기의 값을 나타낼 수 있습니다.

비정수 값은 mmmEeee로 표현될 수 있으며, mmm은 가수(유효 자릿수)이고 eee는 지수(10의 거듭제곱)입니다. 비정수 형식의 가장 높은 양수 값은 Decimal에 대해 7.9228162514264337593543950335E+28, Single에 대해 3.4028235E+38, Double에 대해 1.79769313486231570E+308입니다.

성능

Double은 현재 플랫폼의 프로세서가 부동 소수점 연산을 배정밀도로 수행하기 때문에 소수점 데이터 형식 중 가장 효율적입니다. 그러나 Double 연산은 Integer 같은 정수 계열 형식만큼 빠르지 않습니다.

작은 크기

가능한 크기가 가장 작은 숫자(0에 가장 가까운 숫자)의 경우 Double 변수는 음수 값의 경우 -4.94065645841246544E-324, 양수 값의 경우 4.94065645841246544E-324만큼 작은 숫자를 보유할 수 있습니다.

작은 소수 자릿수

Double 데이터 형식의 전체 범위가 필요하지 않은 경우 -3.4028235E+38에서 3.4028235E+38까지의 부동 소수점 숫자를 보유할 수 있는 Single 데이터 형식을 사용할 수 있습니다. Single 변수의 가장 작은 크기는 음수 값의 경우 -1.401298E-45, 양수 값의 경우 1.401298E-45입니다. 작은 부동 소수점 숫자를 포함하는 변수가 매우 많은 경우 공용 언어 런타임에서 Single 변수를 보다 효율적으로 저장하고 메모리 소비를 절약할 수 있습니다.

참고 항목