Untitled

<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 실수

Signed & Unsigned 🔥

자료형 표현 범위 자료형 표현 범위
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}$

왜 byte만 부호 있는 자료형이 기본으로 설정되어있을까?

기본 자료형?

→ 정수형 & 실수형

<aside> 💡 컴퓨터가 이해할 수 있는 가장 자연스러운 형태의 데이터


즉 어떤 언어가 자체적으로, 기본적으로 지원하는 자료형

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

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

부동소수점형 Floating Point Types

부동소수점형 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비트네?

근데 C#에선 char가 유니코드 써서 16비트네?

</aside>

→ Boolean Type

<aside> 💡 True or False


C++ 에서는 0과 1이 아닌 값으로 변환이 가능함

</aside>