Primitive Types
- char
- short
- int
- long
- float
- double
- long double
unsigned, signed
- ๋ถํธ ์ฌ๋ถ์ ๋ฐ๋ผ ์๋ฃํ ์์ ์ ์ด์ค๋ค.
unsigned char
,unsigned int
- ์๋ฃ์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก
signed
- ์์ธ :
char
- ์์ธ :
char
- ์ต์ 8๋นํธ์ธ ์ ์ํ
- ํ์ค์์ 8๋นํธ ์ด์์ด๋ผ๊ณ ์ ์๋์ด ์์..
- ๊ทธ๋ ๋ค๋ ๊ฑด ์ด๋ค ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋์ ๋ฐ๋ผ char ๋นํธ์๊ฐ ๋ค๋ฅผ ์ ์๋ค๋ ์๊ธฐ..
char ๋นํธ์ ์ฐพ๊ธฐ
- ์ด๋ ๊ฒ ํ๋ฉด ์ ์ ์๋ค.
Byte?
- C ํ์ค์ ๊ธฐ๋ณธ ์๋ฃํ์ ์ ํํ ๋ฐ์ดํธ ์๋ฅผ ๊ฐ์ํ์ง ์๋๋ค.
- ๊ฐ ์ปดํ์ผ๋ฌ์์ ์์์ ํ๋ผ๊ณ ํจ
- ๊ฑฐ๊ธฐ์ 1Byte๋ฅผ
CHAR_BIT
๋งํผ์ด๋ผ๊ณ ์ ์ํจ- ์ฆ, 1Byte๊ฐ 8bit๊ฐ ์๋ ์๋ ์๋ค๋ ๋ง
- ์ฆ, C์ธ์ด์์ Byte๋ผ๋ ๊ฐ๋
์
char
์ ํฌ๊ธฐ๋ฅผ ๋งํ๋ค.- ์ง๊ธ ์ฌ์ฉํ๋ ๊ธฐ๊ณ์ ์ปดํจํฐ๊ฐ ์ ์ฅํ ์ ์๋ ๊ฐ์ฅ ์์ ๋จ์
char์ signed/unsigned
- ๊ฒฐ๊ตญ
char
์๋ฃํ๋ ์ ์ํ์ - ๊ทธ๋ฌ๋ ๋ถํธ์ฌ๋ถ๋ฅผ ๋ฐ์ ธ์ผ ํ ๊ฒ.
- ๊ทธ๋ผ signed, unsigned ์๋ตํ๋ฉด ๊ธฐ๋ณธ์ด ๋ญ๊น?
- C ํ์ค์์๋ ๊ทธ๋ฐ๊ฑฐ ์์ ํจ
- ์ปดํ์ผ๋ฌ ๊ตฌํ๋ฐ๋ผ ์ ํด์ง๋ค.
<limits.h>
์์CHAR_MIN
์ ๋ณด๋ฉด ๊ธฐ๋ณธ char์ ๊ตฌ์กฐ๋ฅผ ์ ์ ์๋ค.- ๊ฐ์ฅ ์์ ๊ฐ ์ถ๋ ฅํ์ ๋,
-128
๋ก ๋์ค๋ฉด, ์ ๊ธฐ๋ณธ์ด signed๊ตฌ๋๋ก ์ ์ ์๊ธฐ ๋๋ฌธ.
char ์ฌ์ฉ๋ฒ
- ๋ฒ์จ ๋จธ๋ฆฌ์ํ๋ค.
- ๋ง์ฝ ๋ฌธ์์ด์ ๋ฒ์๊ฐ ASCII๋ผ๋ฉด, ๋ถํธ์ฌ๋ถ๊ฐ ์๊ด์ด ์๋ค.
- char๊ฐ 8bit > , 256๊น์ง ํํ๊ฐ๋ฅํ๋.
- ๋ถํธ๊ฐ ์๋คํด๋ ์ด๋ผ ๋ค ํํ๊ฐ๋ฅํ๋ค.
- ๊ทธ๋ฐ๋ฐ ์ด ์ด์์ผ๋ก ๋์ด๊ฐ๋ ๊ฒฝ์ฐ์๋
unsigned
๋ฅผ ํด์ค์ผ ๋ ๊ฒ์ด๋ค. - ๊ทธ๋์ผ ๋ค๋ฅธ ํ๋ซํผ์์๋ ์ ์์๋ํ๋ค.
์ ๋ฆฌ
ํฌํ ์ ๋ฌธ์ ์๋ ๋ฒ์
unsigned char | char | signed char |
---|---|---|
0~255 | 0~127 | -127~127 |
- signed char๋ ์ -127 ์ด์ง? -128์ด์ด์ผ ํ๋๋ฐ?
- ํน์ ์๋ ์ปดํจํฐ๊ฐ 1์ ๋ณด์๋ฅผ ์ธ์๋ ์์ผ๋๊น.
- ์ฐธ๊ณ : Complement Number