1. 데이터 형식 개요
- 참조 형식: 문자열(string), 오브젝트(object) 형식으로 구분.
- 값 형식: 숫자 형식, 논리 형식으로 구분.
- 숫자 형식: 정수 계열, 부동소수점 계열, 소수 계열로 세분화.
2. 정수 계열
정수 데이터를 다루기 위한 형식이며, 크기와 범위가 다릅니다.
효율적인 메모리 사용을 위해 데이터 범위에 맞는 형식을 선택해야 합니다.
데이터 형식설명크기(Byte)범위
byte | 부호 없는 정수 | 1 | 0 ~ 255 |
sbyte | 부호 있는 정수 | 1 | -128 ~ 127 |
ushort | 부호 없는 정수 | 2 | 0 ~ 65,535 |
short | 부호 있는 정수 | 2 | -32,768 ~ 32,767 |
uint | 부호 없는 정수 | 4 | 0 ~ 4,294,967,295 |
int | 부호 있는 정수 | 4 | -2,147,483,648 ~ 2,147,483,647 |
ulong | 부호 없는 정수 | 8 | 0 ~ 18,446,744,073,709,551,615 |
long | 부호 있는 정수 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
양수와 음수 표현: 최상위 비트를 이용하여 0(양수), 1(음수)로 구분.
음수 표현: 2의 보수법
- 비트를 반전.
- 1을 더함.
예시: -3
- 00000011 → 비트 반전 → 11111100 → 1 추가 → 11111101
3. 오버플로우와 언더플로우
- 오버플로우: 데이터가 최대값을 넘으면 0으로 순환.
- 언더플로우: 데이터가 최소값을 넘으면 최대값으로 순환.
csharp
코드 복사
byte a = 255; a++; // 0
4. 부동소수점 계열
유리수와 실수를 표현하는 데이터 형식.
정수 계열보다 표현 범위가 넓지만 정확도 손실이 있을 수 있음.
데이터 형식설명크기(Byte)범위
float | 단일 정밀도 부동소수점 (7자리) | 4 | ±3.402823e38 |
double | 복수 정밀도 부동소수점 (15~16자리) | 8 | ±1.79769313486232e308 |
decimal | 29자리 고정소수점 | 16 | 매우 정밀한 소수값 표현 |
5. 논리 형식 계열
참과 거짓을 표현.
데이터 형식설명크기(Byte)범위
bool | 논리 값 | 1 | true, false |
6. 문자와 문자열 형식
- 문자(char): 단일 문자, 작은 따옴표 사용.
char c = 'A';
- 문자열(string): 여러 문자의 집합, 큰따옴표 사용.
string s = "Hello";
7. Object 형식
- 모든 데이터 형식의 조상.
- 참조 형식이며, 힙(Heap)에 데이터를 저장.
8. 박싱(Boxing)과 언박싱(Unboxing)
- 박싱: 값 형식 → 참조 형식(object)로 변환.
int a = 20;
object o = a; // 박싱
- 언박싱: 참조 형식(object) → 값 형식으로 변환.
object o = 20;
int a = (int)o; // 언박싱
9. 데이터 크기
- bit: 0과 1을 표현하는 최소 단위.
- 니블: 4비트.
- 바이트(byte): 8비트.
- 워드(word): CPU의 데이터 처리 단위(16비트 이상).
10. 데이터 구조
- 필드: 데이터베이스의 열(Column).
- 레코드: 데이터베이스의 행(Row).
- 파일: 레코드의 집합.
- 데이터베이스: 파일의 집합.
'프로그래밍 언어 및 개발 도구 > c#' 카테고리의 다른 글
상수와 열거형, Nullable 및 var 형식 완벽 정리 (0) | 2024.12.14 |
---|---|
변수와 메모리 구조: 프로그래머가 알아야 할 변수의 개념과 동작 원리 (2) | 2024.12.14 |
연산자 정리: 기초부터 고급까지 알아야 할 모든 것 (0) | 2024.12.14 |
데이터 형식 변환: 정수, 부동소수점, 문자와 숫자의 변환 이해하기 (0) | 2024.12.14 |
메소드 완벽 가이드: 선언부터 오버로딩, 로컬 함수까지 (0) | 2024.12.13 |