English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
일반적으로 숫자는 두 가지 유형으로 나눌 수 있습니다: 정수 타입과 부동소수점 타입
정수 타입소수점이 없는 정수입니다. 그것은 음수 또는 양수일 수 있습니다.
부호 실수 타입소수점을 가진 숫자입니다. 그것은 음수 또는 양수일 수 있습니다.
C#은 메모리에서의 크기와 숫자를 저장할 수 있는 능력에 따라 정수 타입과 부동소수점 타입에 대해 다른 데이터 타입을 포함합니다.
아래는 C#의 숫자 타입을 설명합니다.
정수 타입은 소수점을 가진 양수 또는 음수의 정수입니다. C#은 정수 타입을 포함하는 네 가지 데이터 타입을 포함합니다: 바이트, 짧은 정수, 정수, 장 정수 (byte, short, int, long)
바이트 데이터 타입은 0에서255의 숫자를 저장할 수 있습니다. 그것은 메모리에서8비트를 저장할 수 있습니다. byte 키워드는 .NET에서 Byte 구조의 별명입니다.
bit와 byte와 같지만, 그것은-128까지127사이의 음수를 저장할 수 있습니다. sbyte 키워드는 .NET에서 SByte 구조의 별명입니다.
byte b1 = 255; byte b2 = -128;// 컴파일 시 오류: 상수 값 “ -128”을 “바이트”로 변환할 수 없습니다. sbyte sb1 = -128; sbyte sb2 = 127; Console.WriteLine(Byte.MaxValue);//255 Console.WriteLine(Byte.MinValue);//0 Console.WriteLine(SByte.MaxValue);//127 Console.WriteLine(SByte.MinValue);//-128
short 데이터 타입은 부호 있는 정수입니다. 그것은-32,768까지32,767사이의 숫자를 저장할 수 있습니다. 그것은16비트 메모리를 저장할 수 있습니다. short 키워드는 .NET에서 Int16구조의 애니메이션입니다.
ushort 데이터 타입은 비슷한 부호 없는 정수입니다. 그것은 0에서65535사이의 양수입니다. ushort 키워드는 .NET에서 UInt16구조의 애니메이션입니다.
short s1 = -32768; short s2 = 32767; short s3 = 35000;//컴파일 시 오류: 상수 값 “ 35000”을 “short”으로 변환할 수 없습니다. ushort us1 = 65535; ushort us2 = -32000; //컴파일 시 오류: 상수 값 “ -32000”을 “ushort”으로 변환할 수 없습니다. Console.WriteLine(Int16.MaxValue);//32767 Console.WriteLine(Int16.MinValue);//-32768 Console.WriteLine(UInt16.MaxValue);//65535 Console.WriteLine(UInt16.MinValue);//0
int 데이터 타입은32비트의 부호가 있는 정수입니다. 그것은 ±-2,147,483,648까지2,147,483,647의 숫자입니다. int 키워드는 .NET에서 Int32구조의 애니메이션입니다.
uint는32비트 비슷한 부호 없는 정수를 저장할 수 있습니다. uint 키워드는 .NET에서 UInt32구조의 별명입니다. 그것은 0에서4,294,967,295의 양수。( 선택 사항 ) 숫자 뒤에 U 또는 u 접두사를 사용하여 uint 변수에 할당합니다。
int i = -2147483648; int j = 2147483647; int k = 4294967295; //컴파일 중 오류: 'uint' 타입을 'int' 타입으로 은닉 변환할 수 없습니다。 uint ui1 = 4294967295; uint ui2 =-1; //컴파일 시 오류: 상수 값 “ -1”로 변환할 수 없습니다. Console.WriteLine(Int32.MaxValue);//2147483647 Console.WriteLine(Int32.MinValue);//-2147483648 Console.WriteLine(UInt32.MaxValue);//4294967295 Console.WriteLine(UInt32.MinValue);//0
int 데이터 타입은 십육자리수와 이진수도 사용합니다. 십육자리수는 0x 또는 0X 프리фик으로 시작합니다. C#에서7.2부터 시작합니다. 이진수는 0b 또는 0B로 시작합니다.
int hex = 0x2F; int binary = 0b_0010_1111; Console.WriteLine(hex); Console.WriteLine(binary);
long 타입은64비트의 부호가 있는 정수입니다. 그것은 ±-9,223,372,036,854,775,808까지9,223,372,036,854,775,807의 숫자를 저장합니다. 숫자 접미사가 l 또는 L이면 long 타입 변수에 할당됩니다. long 키워드는 .NET에서 Int64구조의 애니메이션입니다.
ulong 타입은 0에서18,446,744,073,709,551,615의 양수. 숫자 뒤에 숫자 접미사가 UL, Ul, uL, ul, LU, Lu, lU 또는 lu라면 그 타입은 ulong입니다. uint 키워드는 .NET에서 UInt64구조의 애니메이션입니다.
long l1 = -9223372036854775808; long l2 = 9223372036854775807; ulong ul1 = 18223372036854775808ul; ulong ul2 = 18223372036854775808UL; Console.WriteLine(Int64.MaxValue);//9223372036854775807 Console.WriteLine(Int64.MinValue);//-9223372036854775808 Console.WriteLine(UInt64.MaxValue);//18446744073709551615 Console.WriteLine(UInt64.MinValue);//0
부호가 있는 소수점 숫자는 하나나 많은 소수점이 있는 양수나 음수입니다. C#은 세 가지 실수형 데이터 타입을 포함합니다: 실수, 두 배 정밀도, 소수점(float, double, decimal).
float 데이터 타입은 ±3.4ee038까지3.4e + 038의 분수. 그것은 메모리에서4바이트. float 키워드는 .NET에서 Single 구조의 애니메이션입니다.
문자가 있는 f 또는 F 접미사를 사용하여 실수형으로 만듭니다.
float f1 = 123456.5F; float f2 = 1.123456f; Console.WriteLine(f1);//123456.5 Console.WriteLine(f2);//1.123456
double 데이터 타입은 ±1.7eˆ308까지1.7e + 308의 소수점. 그것은 메모리에서8바이트. double 키워드는 .NET에서 Double 구조의 애니메이션입니다.
문자가 있는 d 또는 D 접미사를 사용하여 두 배 정밀도로 만듭니다.
double d1 = 12345678912345.5d; double d2 = 1.123456789123456d; Console.WriteLine(d1);//12345678912345.5 Console.WriteLine(d2);//1.123456789123456
decimal 데이터 타입은 ±1.0 x 10-28까지 ±7.9228 x 1028의 소수점. 그것은 메모리에서16바이트. decimal은 .NET에서 Decimal 구조의 키워드 애니메이션입니다.
decimal 타입은 float 및 double 타입보다 높은 정확도와 더 작은 범위를 가지므로 재무와 통화 계산에 적합합니다.
문자가 있는 m 또는 M 접미사를 사용하여 decimal 타입으로 만듭니다.
decimal d1 = 123456789123456789123456789.5m; decimal d2 = 1.1234567891345679123456789123m; Console.WriteLine(d1); Console.WriteLine(d2);
e 또는 E로 표시합니다10의 권수는 과학적 기수로, 지수 부분으로 부분 소수점 수, 부분 정수점 수 또는 실수를 사용합니다.
double d = 0.12e2; Console.WriteLine(d); // 12; float f = 123.45e-2f; Console.WriteLine(f); // 1.2345 decimal m = 1.2e6m; Console.WriteLine(m);// 1200000