https://codebunny99.tistory.com/162
C์ธ์ด ๋ณ์์ ๋ํด ํ์ตํ๊ธฐ
๋ณ์๋ ? - ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด๋ค.- ์คํ ๋์ค์ ๊ฐ์ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ณ์๋ ์ ํ์ํ๊ฐ? - ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋๋ฉด ์ด๋๊ฐ์
codebunny99.tistory.com
๋ถํธ ์๋ ์ ์( ์์, ์ ๋๊ฐ๋ง ์กด์ฌํ๋ค.) - unsigned๋ฅผ ๋ถ์ด๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐจ์งํ๋ ์ฉ๋์ด ์ค์ด๋ ๋ค.
unsigned short
unsigned int
unsigned long
unsigned long long
์์๋ฅผ type์ผ๋ก ์ ์ฅํ๊ณ ์ถ์ ๋?
ex)
sum = 123L; => long type์ผ๋ก ์ ์ธํ ๊ฒ์ด๋ค.
<์ ์ํ์ >
- L ๋๋ l: long
- LL ๋๋ ll: long long
- U ๋๋ u: unsigned int
- UL, Lu, ul, lu, LU, lU, Ul, uL: unsigned long
- ULL, ull, LLU, llu: unsigned long long
<์ค์ํ์ >
- F ๋๋ f: float
- L ๋๋ l: long double
๋ณ์์ ์ข ๋ฅ(data type) = ์๋ฃํ ( ๋ณดํต 4๋ฐ์ดํธ )
- ์ ์ํ ( short, int, long, long long ) 2, 4, 8, 8 byte
- ์ค์ํ ( float, double, long double ) 4, 8, 8 byte
- ๋ฌธ์ํ ( char ) 1 byte
** ๋ณ์๋ ์ฌ์ฉํ๊ธฐ ์ ์ ์ด๊ธฐํํด์ผ ํ๋ค.
ex)
sum = 0; (๋ณ์ ์ด๊ธฐํ ํด์ผํจ !!!)
scanf("%d %d %d", &x, &y, &z);
sum += x;
sum += y;
sum += z;
์ค๋ฒํ๋ก์ฐ(overflow)
: ๋ณ์๊ฐ ๋ํ๋ผ ์ ์๋ ๋ฒ์๋ฅผ ๋๋ ์ซ์๋ฅผ ์ ์ฅํ๋ ค๊ณ ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋งํ๋ค.
: 16๋ฐ์ดํธ ์ง๋ฆฌ๋ฅผ 4๋ฐ์ดํธ๋ก ์ ์ฅํ๋ ค๊ณ ํ๋ฉด, ์ํ๋ ๋ฐ์ดํฐ๋ก ์ ์ฅ๋์ง ์๊ณ ๋ฐ์ดํฐ๊ฐ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์ ์ฅ๋๋
์ค๋ฒํ๋ก์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
10์ง๋ฒ, 8์ง๋ฒ, 16์ง๋ฒ
2์ง์ (์ค์) | 10์ง์ | 8์ง์ | 16์ง์ (์ค์) |
0 | 0 | 00 | 0x0 |
1 | 1 | 01 | 0x1 |
10 | 2 | 02 | 0x2 |
11 | 3 | 03 | 0x3 |
100 | 4 | 04 | 0x4 |
101 | 5 | 05 | 0x5 |
110 | 6 | 06 | 0x6 |
111 | 7 | 07 | 0x7 |
1000 | 8 | 010 | 0x8 |
1001 | 9 | 011 | 0x9 |
1010 | 10 | 012 | 0xa |
1011 | 11 | 013 | 0xb |
1100 | 12 | 014 | 0xc |
1101 | 13 | 015 | 0xd |
1110 | 14 | 016 | 0xe |
1111 | 15 | 017 | 0xf |
10000 | 16 | 020 | 0x10 |
10001 | 17 | 021 | 0x11 |
10010 | 18 | 022 | 0x12 |
์ ์ฒด๊ณ์ ์ง์ ๋ณํ (2์ง๋ฒ, 8์ง๋ฒ, 16.. : ๋ค์ด๋ฒ๋ธ๋ก๊ทธ (naver.com)
์ ์ฒด๊ณ์ ์ง์ ๋ณํ (2์ง๋ฒ, 8์ง๋ฒ, 16์ง๋ฒ)
0๊ณผ 1์ ์ํด์ ์ง์๋ณํ์ ๋ฐฐ์๋ณธ๋ค. 2์ง์๋ฅผ ์ํด์ ์ ์ฒด๊ณ ๊ณตํ์์ ๋ฐฐ์ธ ์ ์ฒด๊ณ๋ 2์ง์, 8์ง์, 16...
blog.naver.com
int x = 10; // 10์ 10์ง์์ด๊ณ intํ์ด๊ณ ๊ฐ์ ์ญ์ง์๋ก 10์ด๋ค
int y = 010; // 010์ 8์ง์์ด๊ณ intํ์ด๊ณ ๊ฐ์ ์ญ์ง์๋ก 8์ด๋ค
int z = 0x10 // 0x10์ 16์ง์์ด๊ณ intํ์ด๊ณ ๊ฐ์ ์ญ์ง์๋ก 16์ด๋ค
๊ธฐํธ ์์(symbolic constant)
: ๊ธฐํธ๋ฅผ ์ด์ฉํ์ฌ ์์๋ฅผ ํํํ ๊ฒ์ด๋ค
ex)
PI = 3.14...
#include <stdio.h>
#define TAX_RATE 0.2 // define๋ฌธ์ ๋งคํฌ๋ก๋ผ๊ณ ํ๋ค.
// ๋ฐ์ MONTHS๋ณด๋ค define๋ฌธ์ผ๋ก ๋ ๋ง์ด ์ฌ์ฉํจ
int main(void)
{
const int MONTHS = 12;
int m_salary, y_salary;
printf("์๊ธ์ ์
๋ ฅํ์ธ์")
scanf("%d", &m_salary);
y_salary = MONTHS * m_salary;
printf("์ฐ๋ด์ %d์
๋๋ค", y_salary);
printf("์ฐ๋ด์ %f์
๋๋ค", y_salary*TAX_RATE);
return 0;
}
์ค์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
1. ๊ณ ์ ์์์ ๋ฐฉ์
: ์ ์๋ถ๋ถ + ์์๋ถ๋ถ
ex) 85.125 = 85(์ ์๋ถ๋ถ) + 0.125(์์๋ถ๋ถ) ์ผ๋ก ๋๋๋ค.
2. ๋ถ๋ ์์์ ๋ฐฉ์
- ํํํ ์ ์๋ ๋ฒ์๊ฐ ๋ํญ ๋์ด๋๋ค.
๋ถ๋ ์์์ ์์
์ค์ | ์ง์ ํ๊ธฐ๋ฒ | ์๋ฏธ |
123.45 | 1.2345e2 | 1.2345 x 10^2 |
12345.0 | 1.2345e4 | 1.2345 x 10^4 |
0.000023 | 2.3e-5 | 2.3 x 10^-5 |
2,000,000,000 | 2.0e9 | 2.0 x 10^9 |
์์คํค ์ฝ๋ํ
- ๋ฌธ์ํ์ mapping ์์ผ๋์ ํ์ด๊ณ , ์ปดํจํฐ๋ 2์ง์๋ก ์ฝ๋๋ค.
#include <stdio.h>
int main(void)
{
char code1 = 'A'
char code2 = 65;
printf( "code1 = %c\n", code1 );
printf( "code2 = %c\n", code2 );
// ์ถ๋ ฅ๊ฒฐ๊ณผ ๋ ๋ค "A"๋ก ์ถ๋ ฅ๋๋ค.
// code1 = A
// code2 = A
}
'C Programming Language > C' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C์ธ์ด Basic ์กฐ๊ฑด๋ฌธ if, switch ๊ฐ๋ (0) | 2024.06.18 |
---|---|
C์ธ์ด ์์๊ณผ ์ฐ์ฐ์์ ์๋ฏธ ํ์ตํ๊ธฐ (2) | 2024.06.13 |
C์ธ์ด ๋ณ์์ ๋ํด ํ์ตํ๊ธฐ (2) | 2024.06.11 |
C์ธ์ด ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ basic (๊ธฐ๋ณธ) (0) | 2024.06.10 |
CPU ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ํ์ตํ๊ธฐ (0) | 2024.05.31 |