๋ฐ์ดํฐ ํ์์ ๋ฒ์
C์ธ์ด๋ ๋ค์ํ ๋ฐ์ดํฐ ํ์
์ ์ ๊ณตํ๋ฉฐ, ์ด๋ฌํ ๋ฐ์ดํฐ ํ์
๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ํจ์จ์ ์ฌ์ฉ๊ณผ ์ฐ์ฐ์ ์ ํ์ฑ์ ์ํด ์ค๊ณ๋์๋ค. ๊ฐ ๋ฐ์ดํฐ ํ์
์ ํํํ ์ ์๋ ๊ฐ์ ๋ฒ์๊ฐ ์ ํด์ ธ ์์ผ๋ฉฐ, ์ด๋ ํด๋น ํ์
์ด ๋ฉ๋ชจ๋ฆฌ์์ ์ฐจ์งํ๋ ๋ฐ์ดํธ ํฌ๊ธฐ์ ์ํด ๊ฒฐ์ ๋. C์ธ์ด์ ๊ธฐ๋ณธ ๋จ์๋ 1๋ฐ์ดํธ์ด๋ฉฐ, ์ฌ๊ธฐ์ 1๋ฐ์ดํธ๋ 8๋นํธ์ ๋์ผํ๋ค.
์๋์์๋ ๋ช ๊ฐ์ง ์ฃผ์ ๋ฐ์ดํฐ ํ์
์ ์ต์๊ฐ๊ณผ ์ต๋๊ฐ์ ์ดํด๋ณด๊ฒ ๋ค. ์ด ๊ฐ๋ค์ ๋ฐ์ดํฐ ํ์
์ด ์์๋ง์ ์ ์ฅํ ์ ์๋์ง(๋ถํธ ์์, unsigned), ์๋๋ฉด ์์์ ์์ ๋ชจ๋๋ฅผ ์ ์ฅํ ์ ์๋์ง(๋ถํธ ์์, signed)์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ์ด ์์์์๋ ์ผ๋ฐ์ ์ธ 32๋นํธ ๋ฐ 64๋นํธ ์์คํ
์ ๊ธฐ์ค์ผ๋ก ์ค๋ช
ํ๋ค.
โญ 1. unsigned char
- ํฌ๊ธฐ: 1๋ฐ์ดํธ (8๋นํธ)
- ๋ฒ์: 0 ~ 255
- ์ค๋ช : unsigned char๋ ๋ถํธ ์๋ 8๋นํธ ์ ์๋ก, 0๋ถํฐ 255๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 2. signed char
- ํฌ๊ธฐ: 1๋ฐ์ดํธ (8๋นํธ)
- ๋ฒ์: -128 ~ 127
- ์ค๋ช : signed char๋ ๋ถํธ ์๋ 8๋นํธ ์ ์๋ก, -128๋ถํฐ 127๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 3. int16_t (๋๋ short)
- ํฌ๊ธฐ: 2๋ฐ์ดํธ (16๋นํธ)
- ๋ฒ์: -32,768 ~ 32,767
- ์ค๋ช : int16_t๋ ๋ถํธ ์๋ 16๋นํธ ์ ์๋ก, -32,768๋ถํฐ 32,767๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 4. int32_t (๋๋ int)
- ํฌ๊ธฐ: 4๋ฐ์ดํธ (32๋นํธ)
- ๋ฒ์: -2,147,483,648 ~ 2,147,483,647
- ์ค๋ช : int32_t๋ ๋ถํธ ์๋ 32๋นํธ ์ ์๋ก, ์ฝ -2.1์ต๋ถํฐ 2.1์ต๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 5. uint32_t (๋๋ unsigned int)
- ํฌ๊ธฐ: 4๋ฐ์ดํธ (32๋นํธ)
- ๋ฒ์: 0 ~ 4,294,967,295
- ์ค๋ช : uint32_t๋ ๋ถํธ ์๋ 32๋นํธ ์ ์๋ก, 0๋ถํฐ ์ฝ 42์ต๊น์ง์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 6. float
- ํฌ๊ธฐ: 4๋ฐ์ดํธ (32๋นํธ)
- ๋ฒ์: ๋๋ต -3.4E+38 ~ 3.4E+38 (์ ํจ ์ซ์ ์ฝ 7์๋ฆฌ)
- ์ค๋ช : float๋ ๋ถ๋ ์์์ ์๋ก, ๋งค์ฐ ํฌ๊ฑฐ๋ ๋งค์ฐ ์์ ์๋ฅผ ํํํ ์ ์์ผ๋ฉฐ, ์ฃผ๋ก ๊ณผํ ๊ณ์ฐ์ ์ฌ์ฉ๋๋ค. float๋ ์ ํจ ์ซ์๊ฐ ์ฝ 7์๋ฆฌ์ธ ์ค์ ๊ฐ์ ์ ์ฅํ ์ ์๋ค.
โญ 7. ๊ณ ๋ ค์ฌํญ
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ์ต์ ํ: ๊ฐ๋ฅํ ํ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ํ์ ์ ์ ํํ์ธ์. ์๋ฅผ ๋ค์ด, ๊ฐ์ ๋ฒ์๊ฐ 0~255 ์ฌ์ด๋ผ๋ฉด unsigned char๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ์์น ๋ฒ์ ๊ณ ๋ ค: ๋ณ์๊ฐ ์ ์ฅํด์ผ ํ ๊ฐ์ ๋ฒ์๋ฅผ ๊ณ ๋ คํ์ฌ ์ ์ ํ ํ์ ์ ์ ํํ์ธ์. ์๋ฅผ ๋ค์ด, ์์๋ง ํ์ํ ๊ฒฝ์ฐ unsigned ํ์ ์ ๊ณ ๋ คํด์ผ ํ๋ค.
- ํ์ค ํ์ ์ฌ์ฉ: ํ์คํ๋ ๋ฐ์ดํฐ ํ์ (int16_t, uint32_t ๋ฑ)์ ์ฌ์ฉํ๋ฉด ์ฝ๋์ ์ด์์ฑ์ด ํฅ์๋๋ค.
- ์ฑ๋ฅ ๊ณ ๋ ค: ๋ชฉํ ํ๋ซํผ์์์ ์ฐ์ฐ ์ฑ๋ฅ๋ ๊ณ ๋ คํ์ธ์. ์ผ๋ถ ์์คํ ์์๋ ํน์ ํฌ๊ธฐ์ ๋ฐ์ดํฐ ํ์ ์ ๋ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
๊ฐ ๋ฐ์ดํฐ ํ์ ์ ์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ตฌ ์ฌํญ, ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ฑ, ์ฒ๋ฆฌ ์๋ ๋ฑ ์ฌ๋ฌ ์์๋ฅผ ๊ณ ๋ คํด์ผ ํ๋ค. C์ธ์ด ํ๋ก๊ทธ๋๋ฐ์์ ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ ํ์ ์ ์ ํํ๋ ๊ฒ์ ํ๋ก๊ทธ๋จ์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ค.
'๐ท C์ธ์ด 30๊ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C/C++ Tip] 29. C์ธ์ด Unit Test (0) | 2024.11.12 |
---|---|
[C/C++ Tip] 28. C์ธ์ด ํฌ์ธํฐ์ ๋ค์ํ ํํ๋ค (0) | 2024.11.11 |
[C/C++ Tip] 26. Char, String ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ (1) | 2024.11.10 |
[C/C++ Tip] 25. C์ธ์ด 2์ฐจ์ ๋ฐฐ์ด (0) | 2024.11.10 |
[C/C++ Tip] 24. C์ธ์ด ํ์ผ ์ ์ถ๋ ฅ (1) | 2024.11.09 |