파이썬에선 자료형을 크게 지정하지 않아도 되어 별로 신경쓸 부분이 없었다.
문자열과 숫자의 구분 정도?
하지만 C#의 경우 정수, 소수, 논리형 등을 모두 지정해줘야 하기 때문에 꼭 알아둬야 한다.
자료형 지정
int x = 10000;
long y = 10000000;
이런 식으로 자료형을 변수명 앞에 붙여줘야 자료형이 지정된다.
정수 자료형
1, 2, 3, 4...
-1, -2, -3... 이런 것들을 정수라고 부른다.
자료형 | 범위 | 크기 |
sbyte | -128~+127 | 1바이트 |
short | -32,768~+32,767 (약 3만) | 2바이트 |
int | -2,147,483,648~+2,147,483,647 (약 21억) | 4바이트 |
long | -9,223,372,036,854,775,808~+9,223,372,036,854,775,807 (약 922경) | 8바이트 |
이렇게 자료형마다 쓸 수 있는 범위가 한정되어 있다.
예를 들어 short으로 자료형을 지정해뒀다면 10만을 넣을 수는 없다.
그럼 오류가 뜨게 된다.
그럼 무조건 long을 쓰면 되는데 왜 그렇게 하지 않을까?
이유는 표에서 보이는 것처럼 크기 때문이다.
자료형마다 차지하는 크기가 다르기 때문에 하나의 변수에서는 4~7바이트 정도 차이겠지만 프로그래밍에 수많은 변수들이 그만큼 공간을 낭비하게 되면 프로그램이 엄청나게 무거워질 것이다.
양수 자료형
정수는 음수부터 양수까지 지정이 가능한데 양수만 포함되어 있는 자료형도 있다.
자료형 | 범위 | 크기 |
byte | 0~255 | 1바이트 |
ushort | 0~65535 (약 6만5천) | 2바이트 |
uint | 0~4,294,967,295 (약 42억) | 4바이트 |
ulong | 0~18,446,744,073,709,551,615 (약 184경) | 8바이트 |
처음에 바이트는 s를 빼면 되고 나머지는 u를 앞에 붙이면 양수만 나타내는 자료형이 된다.
대신 음수 범위까지 양수로 넘어와서 같은 크기로 표시할 수 있는 양수 범위가 2배가 된다.
음수가 없는 변수를 지정할 때 유용하다.
실수 자료형
0.01 같은 것들을 실수라고 부르는데 실수 자료형은 3가지가 있다.
자료형 | 표기 | 크기 |
float | = 0.01f | 4바이트 |
double | = 0.01 | 8바이트 |
decimal | = 0.01m | 16바이트 |
범위는 아래로 내려갈수록 더 작은 소수점까지 정확하게 표현이 가능하다.
일반적으로 float만 해도 굉장히 낮은 소수점까지 가능하기 때문에 큰 문제는 없다.
다만 실수 자료형을 표현할 때는 값을 넣을 때 표기 방법에 주의를 해야 한다.
float f = 1.00001f;
double d = 1.000000;
decimal m = 1.0000000m;
이렇게 더블은 아무것도 넣지 않아도 되지만 float나 decimal 앞 뒤에는 꼭 f나 m을 써줘야 한다.
문자 자료형
두 가지가 있다.
string과 char다.
// 한글, 영어, 다 가능하다.
string s = "더블 쿼티로 감싸야 한다.";
// char는 싱글 쿼티로 감싸야 한다.
// 또한 문자 딱 하나만 넣을 수 있다.
char c = 'A';
보통 string을 사용하면 되는데 쿼티에 주의하자.
파이썬은 싱글, 더블 쿼티 모두 가능했는데 C#에선 더블 쿼티로 감싸줘야 한다.
char는 싱글 쿼티인데 여긴 딱 하나의 문자만 넣을 수 있다.
문자를 넣으면 해당 문자의 유니코드로 기억해준다.
이걸 이용해 정수형으로 바꾼 뒤 더하기 빼기해서 다시 char(캐릭터)로 바꿔서 다른 문자로 바꾸는 등을 할 수 있다.
숫자를 문자로 바꾸는 함수 & 문자를 숫자로 바꾸는 함수
// 숫자를 문자로 바꾸는 함수
int a = 100;
b = a.ToString();
// 문자를 숫자로 바꾸는 함수
string s = "200";
i = int.Parse(s);
ToString 함수를 이용하면 숫자를 문자로 바꿀 수 있다.
반대로 문자를 숫자로 바꿀 수 있는데 이때는 실제 문자로 지정되있는 숫자들만 바꿀 수 있다.
"가" 이런 걸 숫자로 바꿀 순 없다.
논리 자료형
마지막으로 논리 자료형이 있다.
논리 자료형은 참, 거짓 딱 두 가지만 저장할 수 있는 자료형이다.
bool t = true;
bool f = false;
이런 식으로 트루나 펄스 값을 입력할 수 있다.
※ 함께 보면 좋은 글
'IT > 코딩' 카테고리의 다른 글
C# 전역변수, 지역변수, 접근 지정자 (0) | 2021.12.08 |
---|---|
C# 함수 정의와 호출 (0) | 2021.12.07 |
C# print, 주석, 변수 (0) | 2021.12.05 |
셀레니움 파이썬 최신버전 frame 문법 주의사항 (1) | 2021.11.26 |
파이썬 장고 템플릿 만들기 & 적용 (0) | 2020.12.12 |