정수 형식
1
2
3
4
5
6
7
8
9
10
11
12
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
- Main 함수
- 프로젝트 내에 전체 딱 1개 있어야 함
- 프로그램 처음 실행할 때 가장 먼저 실행됨
- 출력 로그
Console.WirteLine
- 유니티 C# 에선
Debug.Log
였는데 좀 다르다.
- 유니티 C# 에선
정수
- 변수 : 데이터를 저장하는 바구니
1
2
3
4
int hp;
hp = 100;
Console.WriteLine("Hello World! {0}", hp);
1
2
3
#출력 값
Hello World! 100
Console.WirteLine
printf
처럼 형식 문자열처럼 쓸 수도 있는 것 같다.- {0} 자리에
int
변수hp
의 값이 들어간다.
정수의 종류
byte
: 1byte
(8 bit)짜리 바구니- 예외적으로 양수만 0 ~ 255 표현
- 2^8^개의 정수 표현 가능
- cf) 문명1에서 간디가
byte
형으로 선언된 공격성이 1 이였는데 민주주의 노선을 선택하면 공격성이 -2 감소하였다고 한다. - 아이러니하게도 -1이 되는 것이 아닌, 0 ~ 255만 표현할 수 있는
byte
특성 상underflow
때문에 255가 되었는데 이때문에 간디가 255 공격성을 가진 폭력 간디로 변하는 버그가 있었다고 한다.
- 예외적으로 양수만 0 ~ 255 표현
short
: 2byte(16 bit)짜리 바구니- 2^16^개의 정수 표현 가능
int
: 4byte(32 bit)짜리 바구니- 2^32^개의 정수 표현 가능
long
: 8byte(64 bit)짜리 바구니- 2^64^개의 정수 표현 가능
- 보통
int
를 사용하지만 상황에 따라 더 작은 자료형(byte
,short
)를 사용할 수도, 더 큰 자료형(long
)을 사용할 수도 있다.
정수 데이터의 종류
byte
1
byte
byte
- 1
byte
(0 ~ 255) → 양수만 표현 가능
- 1
sbyte
- 1
byte
(-128 ~ 127) → 음수 양수 모두 표현 가능
- 1
short
2
byte
short
- 2
byte
(-3만 ~ 3만) → 음수 양수 모두 표현 가능
- 2
ushort
- 2
byte
(0 ~ 6만) → 양수만 표현 가능
- 2
int
4
byte
int
long
8
byte
long
- 8
byte
→ 음수 양수 모두 표현 가능
- 8
uint
- 8
byte
→ 양수만 표현 가능 #
- 8
- 오직 양수만
진수의 종류
- 10 진수
- 0 1 2 3 4 5 6 7 8 9
- 위 10가지 숫자의 조합으로 수를 표현한다.
- 사람에게 자연스러운 수
- 2 진수
- 0 1
- 위 2가지 숫자의 조합으로 수를 표현한다.
- 10진수와의 구분을 위해 앞에 0b를 붙임
- 0b00, 0b01, 0b10, 0b11, …
- 컴퓨터에게 자연스러운 수
- 16 진수
- 0 1 2 3 4 5 6 7 8 9 A B C D E F
- 위 16가지 숫자의 조합으로 수를 표현한다.
- 10진수와의 구분을 위해 앞에 0x를 붙임
- 0x00, 0x01, … 0x0E, 0x0F, 0x10
- 4자리의 2 진수를 1 자리의 16 진수로 줄여쓸 수 있다는 장점이 있다.
- 0b10001111 = 0x8F