
<aside> 💡 목차
</aside>
https://github.com/POCU/COMP1500CodeSamples
구문 (statement) |
|||
|---|---|---|---|
대입(Declaration) |
정의(definition) |
||
변수(Variables) |
변하는(mutable) |
||
상수(Constants) |
Literal |
MagicNumber |
불변의(immutable) |
기본 자료형 (Primitive Types) |
내장 자료형 (butilt in types) |
||
Signed & Usigned |
부호 있는 & 없는 |
자료형 |
|
접두사(prefix) |
접미사(postfix) |
||
묵시적 형변환 |
암시적 형변환 |
정밀도 손실 |
정보의 손실 |
명시적 형변환 |
|||
index |
색인 |
||
비트플래그 |
|||
코딩 표준 |
Ctrl + K + D |
||
평가(evaluate) |
평가의 생략 |
SOP to POS |
|
연산자 우선순위 |
연산자 결합법칙 |
연산자 평가순서 |
short-circuit |
| 자료형 | 크기 bit | 정수/실수 |
|---|---|---|
byte |
8 | 정수 |
char |
16 | 문자 |
short |
16 | 정수 |
int |
32 | 정수 |
long |
64 | 정수 |
float |
32 | 실수 |
double |
64 | 실수 |
| 자료형 | 표현 범위 | 자료형 | 표현 범위 |
|---|---|---|---|
sbyte |
-128 ~ +127 | byte |
0 ~ +255 |
short |
-32,768 ~ +32,767 | ushort |
0 ~ +65,535 |
int |
$-2^{31-1} \sim 2^{31-1}-1$ | uint |
$0 \sim 2^{32}$ |
long |
$-2^{64-1} \sim 2^{64-1}-1$ | ulong |
$0 \sim 2^{64}$ |
<aside> 💡 컴퓨터가 이해할 수 있는 가장 자연스러운 형태의 데이터
즉 어떤 언어가 자체적으로, 기본적으로 지원하는 자료형

정수형 C# 에서는 1바이트를 char 가 아니라 byte로 표현

부동소수점형 Floating Point Types
</aside>
<aside> 💡 왜 Floating Point Types 이라고 부를까?
127.125 라는 숫자를 일단 2진수로 변환해줌
1111111.0001
2진수에서 소수점은 다음과 같이 표현한다
(이해를 위해 10진수로 표현함)
100.5
= 1.005 * 10^2
따라서 2진수도 자리수를 이동시키고 이동시킨 자리수만큼 곱해주는것
<u>**가수부 : 1.1111110001 * 10^6**</u>
자연수 자리는 빼고, 아래자리수가 바로 <u>**가수부**</u>
지수부는 10^6 이었으니까 8비트에서 부호비트를 뺀 7비트의 최대값인 127에 이동한 자리수 6을 더해준 값을 8비트에 표현한다 이 값이 바로 <u>**지수부</u>** 다
<u>**지수부 : 1000 0101 (127+6)
부호**</u>는 양수나 음수냐에 다라 MSB처럼 1이나 0을 표기한다
양수 : 0
음수 : 1
floating 은 점이 둥둥 떠다닐 수 있다는것을 의미한다
0.01 이라는 값이 있을때, 0.01 = 1 * 10^-2 0.01 = 0.1 * 10^-1 둘 다 똑같으니까 점의 위치는 무엇을 곱하냐에 따라 상대적으로 둥둥 떠다니는것같잖아?
</aside>
<aside> 💡 하나의 문자를 담는 1바이트(8비트) 자료형

근데 C#에선 char가 유니코드 써서 16비트네?
</aside>
<aside> 💡 True or False
C++ 에서는 0과 1이 아닌 값으로 변환이 가능함
</aside>