[진행상황: 3/26]
* 값형(단순 자료형) 의 종류
= 정수 자료형
= 부동 소수점형
= 십진형
= 논리형
* 정수 자료형
= 정수를 다루는데 사용.
= 기억할 수 있는 범위의 한계가 있으며 그 한계의 범위는 자료형의 종류에 따라 다르다.
따라서 기억 가능 범위가 다른 만큼 메모리에서 차지하는 공간의 크기가 다르다.
기억해야하는 메모리 공간에 따라 다양한 종류를 사용할 수 있음
(시스템을 컴팩트하게 짜기 위해서는 적절한 정수 자료형을 사용하는 것이 중요)
* 정수 자료형의 종류
자료형 | 크기 | 의미 | 기억 가능 범위 |
sbyte | 1byte | 부호가 있는 가장 작은 정수 | -128 ~ 127 |
byte | 1byte | 부호가 없는 가장 작은 정수 | 0 ~ 255 |
short | 2byte | 부호가 있는 가장 작은 정수 | -32768 ~ 32767 |
ushort | 2byte | 부호가 없는 가장 작은 정수 | 0 ~ 65535 |
int | 4byte | 부호가 있는 정수 | -2147483648 ~ 2147483647 |
uint | 4byte | 부호가 없는 정수 | 0 ~ 4294967295 |
long | 8byte | 부호가 있는 큰 정수 | -9223372036854775808~9223372036854775807 |
ulong | 8byte | 부호가 없는 큰 정수 | 0 ~ 18446744073709551615 |
char | 2byte | 유니코드 문자 | U+0000 ~ U+fff |
= 각각의 자료형에는 의미에 맞는 범위의 정수만 저장이 가능하다.
예를 들어 [byte 1 = -10] 은 에러.
= 마지막의 char는 별도의 코드를 넣지 않아도 C#이 알아서 자료형 변환은 해 준다.
* 정수 자료형의 예제
=================================================================================
01: using System;
02:
03: class IntegralTest
04: {
05: public static void Main()
06: {
07: sbyte a = -10;
08: byte b = 200;
09: int c = 20011221;
10: long d = a * b * c;
11:
12: Console.WriteLine("byte a : {0} byte b : {1} int c : {2}", a, b, c);
13: Console.WriteLine("a * b * c = d : {0}", d);
14: }
15: }
===============================================================================
=> 실행
=> 주석
01: using System;
// 네임 스페이스 참조
03: class IntegralTest
// IntegralTest 클래스 선언
05: public static void Main()
// 프로그램의 시작 클래스임을 알림
07: sbyte a = -10;
// sbyte형 변수 a를 선언함과 동시에 -10으로 초기화
08: byte b = 200;
// byte형 변수 b를 선언함과 동시에 200으로 초기화
09: int c = 20011221;
// int형 변수 c를 선언함과 동시에 20011221로 초기화
10: long d = a * b * c;
// long형 변수 d를 선언하고 동시에 a, b, c 세수의 곱으로 초기화
12: Console.WriteLine("byte a : {0} byte b : {1} int c : {2}", a, b, c);
//Console에 a, b, c의 내용들을 한 번에 출력한다.
// 출력된 결과물은 [byte a : -10 byte b : 200 int c : 20011221]이다.
13: Console.WriteLine("a * b * c = d : {0}", d);
//Console에 d의 값을 출력한다.
//출력된 결과물은 [a * b * c = d : -1367736336]이다.