English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 숫자 타입(Number)

일반적으로 숫자는 두 가지 유형으로 나눌 수 있습니다: 정수 타입과 부동소수점 타입

정수 타입소수점이 없는 정수입니다. 그것은 음수 또는 양수일 수 있습니다.

부호 실수 타입소수점을 가진 숫자입니다. 그것은 음수 또는 양수일 수 있습니다.

C#은 메모리에서의 크기와 숫자를 저장할 수 있는 능력에 따라 정수 타입과 부동소수점 타입에 대해 다른 데이터 타입을 포함합니다.

아래는 C#의 숫자 타입을 설명합니다.

숫자 타입

정수 타입

정수 타입은 소수점을 가진 양수 또는 음수의 정수입니다. C#은 정수 타입을 포함하는 네 가지 데이터 타입을 포함합니다: 바이트, 짧은 정수, 정수, 장 정수 (byte, short, int, long)

byte

바이트 데이터 타입은 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

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

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

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

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

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

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