Machineboy空
C# 정수형 (Integral Number) 본문
정수형이란?
양의 정수, 0, 음의 정수
- 12가지의 숫자 형식 중 9가지가 정수 계열 형식
- 각각 크기와 담을 수 있는 데이터의 범위가 다르며, 적절한 데이터 형식을 선택해 메모리를 효율적으로 사용
정수형의 종류
크기 | 최소 | 최대 | ||
byte | 부호없는 정수 | 1byte (8bit) | 0 | 255 |
sbyte | signed byte | 1byte (8bit) | -128 | 127 |
short | 정수 | 2byte (16bit) | -32,768 | 32,767 |
ushort | unsigned short | 2byte (16bit) | 0 | 65,535 |
int | 정수 | 4byte (32bit) | -2,147,483,648 | 2,147,483,647 |
uint | unsigned int | 4byte (32bit) | 0 | 4,294,967,295 |
long | long integer | 8byte (64bit) | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
ulong | unsigned long | 8byte (64bit) | 0 | 18,446,744,073,709,551,615 |
char | 유니코드 문자 | 2byte (16bit) |
- 학급의 성적을 처리하는 프로그램은 int 형식 정도면 충분할 것
- 매출이 큰 회사에서 회계를 다루는 형식으로는 long은 되어야 할 것
정수형간의 변환
- 더 큰 데이터에 작은 데이터를 할당하는 것 = 문제 없음
- 더 작은 데이터를 큰 데이터로 변환하고 싶을 때 : 형변환
// 큰 것에 < 작은 것 할당
uint ui = uint.MaxValue;
ulong ul = ui;
// 작은 것 > 큰 것으로 변환하고 싶을 때
short s = 42;
uint ui = (uint)s;
부동 소수점 형식(Floating Point type)
소수점이 고정되어 있지 않고 움직이면서 수를 표현한다.
- 소수점을 이동해 수를 표현하면 고정했을 때보다 더 제한된 비트를 이용해서 훨씬 넓은 범위의 값을 표현할 수 있기 때문
- 3.14, 11.08 등과 같은 소수
- 소수점을 표현하기 위해 일부 비트를 사용하기 때문에(게다가 부호도 표현해야 한다) 같은 크기의 정수 계열 형식과 같은 크기의 수를 표현할 수 없다.
- 산술 연산 과정이 정수 계열 형식보다 복잡해서 느리다.
- float, double
IEEE754
C#의 float과 double은 IEEE754라는 표준 알고리즘에 기반한 데이터 형식
- 4byte(32bit)의 float형식의 수를 표현할 때
- 1 bit : 부호 전용
- 23 bit: 기수부: 수를 표현
- 8bit: 지수부: 소수점의 위치 표현
'언어 > C#' 카테고리의 다른 글
C# Dictionary 딕셔너리 (0) | 2025.02.06 |
---|---|
C# 문자 형식 char, 문자열 형식 string, String Builder (0) | 2025.02.06 |
C# 상속, 다형성(Polymolphism) (0) | 2025.02.03 |
C# Generic Types (0) | 2025.01.24 |
LINQ (0) | 2025.01.23 |