숫자 데이터 형식(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까지의 정수를 보유합니다. 정수가 작은 변수가 매우 많은 경우 공용 언어 런타임에서 Short
및 SByte
변수를 보다 효율적으로 저장하고 메모리 소비를 절약할 수 있습니다. 그러나 Short
및 SByte
연산 속도는 Integer
연산 속도보다 다소 느립니다.
부호 없는 정수
변수가 음수를 보유할 필요가 없다는 것을 알고 있는 경우 부호 없는 형식Byte
, UShort
, UInteger
및 ULong
을 사용할 수 있습니다. 이러한 각 데이터 형식은 해당 부호 있는 형식(SByte
, Short
및Integer
Long
)의 두 배에 해당하는 양의 정수를 보유할 수 있습니다. 성능 측면에서 각 부호 없는 형식은 해당 부호 있는 형식만큼 효율적입니다. 특히 UInteger
는 Integer
와 모든 기본 숫자 데이터 형식 중에서 가장 효율적이라는 차이점을 공유합니다.
비정수 숫자 형식
비정수 데이터 형식은 정수 부분과 소수 부분이 모두 있는 숫자를 나타내는 형식입니다.
비정수 숫자 데이터 형식은 Decimal
(128비트 고정 소수점), 단일 데이터 형식(32비트 부동 소수점) 및 이중 데이터 형식(64비트 부동 소수점)입니다. 모두 부호 있는 형식입니다. 변수에 분수가 포함될 수 있는 경우 이러한 형식 중 하나로 선언합니다.
Decimal
은 부동 소수점 데이터 형식이 아닙니다. Decimal
숫자에는 이진 정숫값과 값의 어느 부분이 소수인지 지정하는 정수 배율 인수가 있습니다.
돈 값에 Decimal
변수를 사용할 수 있습니다. 이점은 값의 정밀도입니다. Double
데이터 형식은 더 빠르며 메모리가 적게 필요하지만 반올림 오류가 발생할 수 있습니다. Decimal
데이터 형식은 28자리의 소수 자릿수까지 완전한 정확도를 유지합니다.
부동 소수점(Single
및 Double
) 숫자는 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
변수를 보다 효율적으로 저장하고 메모리 소비를 절약할 수 있습니다.
참고 항목
.NET