Contents
1) ์ C์ธ์ด๋ฅผ ๋ฐฐ์์ผํ๋๊ฐ?
2) C์ธ์ด ๋ณธ๊ฒฉ ๋ง๋ณด๊ธฐ
3) ์ฃผ์
4) ์ปดํจํฐ์์ ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
01. ์ C์ธ์ด๋ฅผ ๋ฐฐ์์ผ ํ๋๊ฐ?
์ ๋นํ ์ํ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋ชฉํ๋ผ๋ฉด ๊ตณ์ด ์ปดํจํฐ ๋ด๋ถ๊ฐ ์ด๋ป๊ฒ ๋์๊ฐ๋์ง ๋ชฐ๋ผ๋ ์๊ด ์๋ค.
ํ์ง๋ง ์ข์ ํ๋ก๊ทธ๋๋จธ๊ฐ ๋๋ ค๋ฉด, ์ปดํจํฐ์ ๋ด๋ถ ์๋ฆฌ๋ฅผ ์๋ ๊ฒ์ด ํ์์ ์ด๋ค.
C์ธ์ด๋ฅผ ๋ฐฐ์ด๋ค๋ฉด ์ปดํจํฐ ๋ด๋ถ ์๋ฆฌ๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
๋ง์ ์ธ์ด๋ค์ด C์ธ์ด์์ ํ์๋์ด ์๊ฒจ๋ฌ๊ธฐ ๋๋ฌธ์ C์ด๋๋ฅผ ๋ฐฐ์ฐ๋ฉด ๋ค๋ฅธ ์ธ์ด๋ค์ ๊ณต๋ถํ๋๋ฐ ๋์์ด ๋๋ค.
ํํ ์ธ์ด๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ๋ฐฉ๋ฒ์ ์น๊ตฌ๋ฅผ ์ฌ๊ท๋ ๊ฒ์ด๋ผ๋ ๋ง์ ๋ค์ ์ ์๋ค.
C์ธ์ด๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ฐ๋ฆฌ๋ C์ธ์ด๋ฅผ ๋งค์ฐ ์ ํ๋ ์ปดํจํฐ ์น๊ตฌ์ ํจ๊ป C์ธ์ด๋ฅผ ๋ฐฐ์๋๊ฐ๊ฒ์ด๋ค.
C์ธ์ด๋ฅผ ๊ฐ์ฅ ๋นจ๋ฆฌ ์ต๋ํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ข์์ ๋ฐฐ์ด ๋ด์ฉ์ ํ ๋๋ก ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์ง์ ๋ง๋ค์ด ๋ณด๋ ๊ฒ์ด๋ค.
์ปดํ์ผ>
์ปดํ์ผ(compiling)์, ์ฃผ์ด์ง ์ธ์ด๋ก ์์ฑ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ์ธ์ด์ ๋๋ฑํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ณํํ๋ ํ๋ก์ธ์ค์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ปดํ์ผ๋ฌ๋ C++๊ณผ ๊ฐ์ ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ์ด์ง์ฝ๋ ๋๋ ๊ธฐ๊ณ ์ฝ๋๋ผ๊ณ ํ๋ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ก ๋ณํํ๋ค.
-> ๊ฐ๋จํ, ์ปดํ์ผ๋ฌ๋ฅผ ํตํด ์ ์ฒ๋ฆฌ๋ ์์ค์ฝ๋ ํ์ผ์ ์ด์ ๋ธ๋ฆฌ์ด ํ์ผ๋ก ๋ณํํ๋ ๊ณผ์ ์ด๋ผ๊ณ ์๊ฐํด๋ ๋จ
์ถ๊ฐ๋ก ๋งํฌ(Link)๋, ์ฌ๋ฌ๊ฐ๋ก ๋ถ๋ฆฌ๋ ์์คํ์ผ์ ์ต์ข ์คํ ๊ฐ๋ฅํ ํ์ผ์ ๋ง๋ค๊ธฐ ์ํด ์๋ก ์ฐ๊ฒฐํด์ฃผ๋ ์์ ์ด๋ฉฐ, ๋น๋(Build)๋ ์์ค์ฝ๋ ํ์ด์ ์คํ ๊ฐ๋ฅํ ์ํํธ์จ์ด๋ก ๋ง๋๋ ๊ณผ์ ์ด๋ค.
์ปดํ์ผ๋ฌ>
์ปดํ์ผ๋ฌ(compiler) ์ฆ ๋ฒ์ญ๊ธฐ๋, ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฐ์ฌ ์๋ ๋ฌธ์๋ฅผ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์ฎ๊ธฐ๋ ์ธ์ด ๋ฒ์ญ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์คํ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด ์ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(ex,์ด์ ๋ธ๋ฆฌ์ด)๋ก ๋ฐ๊พธ๋๋ฐ ์ฌ์ฉ๋๋ค.
์๋์ ๋ฌธ์๋ฅผ ์์ค ์ฝ๋ ๋๋ ์์ ์ฝ๋๋ผ๊ณ ๋ถ๋ฅด๊ณ , ์ถ๋ ฅ๋ ๋ฌธ์๋ฅผ ๋ชฉ์ ์ฝ๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๋ชฉ์ ์ฝ๋๋ ์ฃผ๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด๋ ํ๋์จ์ด๊ฐ ์ฒ๋ฆฌํ๊ธฐ์ ์ฉ์ดํ ํํ๋ก ์ถ๋ ฅ๋๋ฉฐ, ์ด๋ฐ ์์์ฝ๋ -> ๋ชฉ์ ์ฝ๋๋ก ์ฎ๊ธฐ๋ ๊ณผ์ ์ ์ปดํ์ผ์ด๋ผ๊ณ ํ๋ค.
์๋๋ ์ปดํ์ผ๋ฌ ์ข ๋ฅ์ ๋ํ ์ฌ์ง์ด๋ค. ๊ฐ๋จํ ์ดํด๋ณด์.
ํ๋ฆฌํ๋ก์ธ์(pre-processor)๋, ์ค์ ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ธฐ ์ ์ ์ฌ์ ์ค๋น ์์ ์ ์ํํ๋ ์ปดํ์ผ๋ฌ์ด๋ค. ์๋ฅผ ๋ค์ด C์ธ์ด๋ก ์ฝ๋๋ฅผ ์์ฑ ํ ๊ฒฝ์ฐ ํค๋ ํ์ผ์ ์ ์ํ์ฌ ์ฌ๋ฌ ์์ค ํ์ผ์์ ์ฌ์ฉํ ์ ์๊ฒ ํ ์ ์๋๋ฐ, ์ด๋ ํ๋ฆฌํ๋ก์ธ์๊ฐ ์ด ํค๋ํ์ผ ๋ถ๋ถ์ ์ค์ ์์ค ์ฝ๋๋ก ๋์ฒดํด์ฃผ๋ ์ฌ์ ์์ ์ ํ๊ฒ ๋๋ค.
์ปดํ์ผ๋ฌ(compiler)๋ ๊ณ ๊ธ ์ธ์ด๋ฅผ ์ ๊ธ ์ธ์ด๋ก ๋ฒ์ญํด์ค๋ค. ์ฌ๊ธฐ์์ ์ ๊ธ์ธ์ด๋ ์ด์ ๋ธ๋ฆฌ์ด์ด๋ค.
์ด์ ๋ธ๋ฌ(assembler)๋ ์์์ ์ธ๊ธํ ์ด์ ๋ธ๋ฆฌ์ด๋ฅผ ๊ธฐ๊ณ์ด(0๊ณผ 1)๋ก ๋ณํํ๋ ์ญํ ์ ์ํํ๋ค.
์ธํฐํ๋ฆฌํฐ(interpreter)๋ ๊ณ ๊ธ ์ธ์ด๋ฅผ ํ ์ค์ฉ ๋ฒ์ญํด์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ์ถ๋ ฅํ๋ ์ปดํ์ผ๋ฌ์ด๋ค. ๋ํ์ ์ผ๋ก Python์ด ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๋ค.
๋ง์ด ํ๊ฐ๋ฆฐ๋ค. ํ์ง๋ง ์ข์ ์์์ ์ฐ๋ฆฌ๊ฐ ์ฝ๊ฒ ์ปดํ์ผ๋ฌ๋ค์ ๊ตฌํ ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ฐ๋ฆฌ๋ ๋ง์์์ ๋ฌด๋ฃ๋ฃ ๋ฐฐํฌํ๋ Visual C++ 2020 Community๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด๊ฑธ ๋ค์ด๋ฐ์ผ๋ฉด ์์ ์ปดํ์ผ๋ฌ๊ฐ ์๋์ผ๋ก ์ค์น๋๋ค.
์ฒซ ํ๋ก๊ทธ๋จ>
#include <stdio.h>
int main() {
printf("Hello, World! \n");
return 0;
}
์ด์ F7(์๋ฃจ์ ๋น๋)๋ฅผ ๋๋ฌ ์ปดํ์ผ์ ์งํํด์ค๋ค. ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋์ค๋ฉด ์ฑ๊ณต์ ์ผ๋ก ๋น๋๋๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ F5(๋๋ฒ๊น ์์) ๋๋ Ctrl + F5(๋๋ฒ๊ทธ ํ์ง ์๊ณ ์์)์ ๋๋ฌ ํ๋ก๊ทธ๋จ์ ์คํํด๋ณด์.
+) ๋๋ฒ๊น ์ด๋, ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ณผ์ ์์ ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ์ฐพ์ ์์ ํ๋ ํ๋ก์ธ์ค์ด๋ค.
<์ ๋ฆฌ>
์ฐ๋ฆฌ๋ ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํด ์ปดํ์ผ -> ๋งํฌ -> ๋น๋ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ปดํ์ผ๋ฌ๋ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด(์ด์ ๋ธ๋ฆฌ์ด)๋ก ๋ฐ๊พธ์ด์ฃผ๋ "๋ฒ์ญ ํ๋ก๊ทธ๋จ"์ด๋ฉฐ ์ฐ๋ฆฌ๋ ์ด ์ปดํ์ผ๋ฌ๋ฅผ ๊ฐ์ง๊ณ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ณํํ๋ ๊ณผ์ ์ธ ์ปดํ์ผ์ ๊ฑฐ์น๋ค.
๊ณ ๊ธ ์ธ์ด๋ ์ปดํ์ผ ๊ณผ์ ์ ๊ฑฐ์ณ ์ ๊ธ ์ธ์ด(์ด์ ๋ธ๋ฆฌ์ด)๋ก ๋ณํ๋๋ฉฐ, ์ด์ ๋ธ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ด์ ๋ธ๋ฆฌ ๊ณผ์ ์ ๊ฑฐ์น ํ ๊ธฐ๊ณ์ด๋ก ๋ณํ๋๋ค.
02. C์ธ์ด ๋ณธ๊ฒฉ ๋ง๋ณด๊ธฐ
Hello, Wolrd ํ๋ก๊ทธ๋จ ๋ถ์ํ๊ธฐ>
#include <stdio.h>
stdio.h๋ Standard Input Output Header์ ์ฝ์๋ก, ํ์ค ์ ์ถ๋ ฅ ํค๋์ด๋ค.
stdio.h๋ผ๋ ํ์ผ์ ์ด ํ์ผ์ ํฌํจ์ํค๋ฏ๋ก์จ, ์ ๋ ฅ์ฅ์น์ธ ํค๋ณด๋๋ก๋ถํฐ ์ ๋ ฅ์ ๋ฐ์๋ค์ด๊ณ ์ถ๋ ฅ์ฅ์น์ธ ํ๋ฉด์ ๋ด์ฉ์ ์ถ๋ ฅํ๋๋ก ํ๋๊ฒ์ด๋ค.
int main()
์ ์ ํ์ ๋ฐํํ๋ main ํจ์์ด๋ค. ํญ์ ํจ์๋ฅผ ์ ์ธํ ๋ "[ํจ์๋ช ] ()"๋ก ์ ์ธํ๋๊ฒ๊ณผ ๊ฐ์๊ฒ์ด๋ค.
๋ชจ๋ Cํ๋ก๊ทธ๋จ์ ์ด mian์์๋ถํฐ ์์๋๋ค.
printf("Hello, World! \n")
printf๋ ํ๋ฉด์ ๊ดํธ ์์ ๋ด์ฉ์ ์ถ๋ ฅํ ์ ์๊ฒ ํด์ฃผ๋ ํจ์์ด๋ค. printf ํจ์์ ์ํด "Hello, World!"๋ผ๋ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋๋ค.
printf ํจ์๊ฐ ์ด๋ค ๊ณผ์ ์ ๊ฑฐ์ณ ํ๋ฉด์ ๊ธ์๋ก ์ถ๋ ฅ๋๋ ๊ฒ์ผ๊น?
-> ํ๋ฉด์ ๊ธ์๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ์ ๋งค์ฐ ์ฌ์๋ณด์ด์ง๋ง, ์ค์ฌ๋ก๋ ๋งค์ฐ ๋ณต์กํ ๊ณผ์ ์ ๊ฑฐ์น๋ค. ์ผ๋จ OS์ ์์ ์ด ํ๋ฉด์ ๊ธ์๋ฅผ ๋ฟ๋ ค์ผ ํ๋ค๋ ๋ฉ์์ง๋ฅผ ๋ณด๋ด์ผ ํ๊ณ ๋ OS๋ ํ๋์จ์ด(๋ชจ๋ํฐ)์ ์ด๋ฅผ ์ถ๋ ฅํ๋ค๋ ๊ฒ์ ์ด์ผ๊ธฐ ํด์ฃผ์ดํ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
-> "Hello. Wolrd!"๋ผ๋ ์งง์ ๋ฌธ์์ด์ ํ๋ฉด์ ์ถ๋ ฅํ๊ธฐ ์ํด ์์ ๊ธด ๊ณผ์ ์ ์ฝ๋์ ๋ชจ๋ ์์ฑํ๋๊ฒ์ ์๋นํ ๋นํจ์จ์ ์ด๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ ๋ชจ๋ ๋ด์ฉ์ ํฌํจํ๊ณ ์๋ ํ์ผ์ธ stdio.h ํ์ผ์ ์ฌ์ฉํ๋ค!!
03. ์ฃผ์(comment)
์ฃผ์(comment)๋ ์์ ์ ์ฝ๋์ ๋ํด ์ค๋ช ํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๊ธด ์ฃผ์๊ณผ ์งง์ ์ฃผ์์ด ์๋ค.
์ฃผ์์ ์ฐ๋ฆฌ๊ฐ ์ฝ๋๋ฅผ ์ดํดํ๊ธฐ ์ํด ํ์ํ ๋ถ๊ฐ์ ์์์ด๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ๋ฌ๋ ์ด ์ฃผ์์ ๋ฌด์ํ๋ค. ์ฆ ์ฃผ์์ ์ปดํ์ผ๋ฌ๊ฐ ์์ ํ ๋ฌด์ํ๊ณ ์ค์ง ์ฌ๋์ ํธ์๋ฅผ ์ํด์๋ง ์กด์ฌํ๋ค.
/*์ด๊ฑด
๊ธด
์ฃผ์*/
//์ด๊ฑด ์งง์ ์ฃผ์
์ง๊ธ ์ฝ๋๋ฅผ ์ฐ๊ณ ์๋ ์์ ์์ ๋ด์์ ์ ์๋ค๊ณ ์ฃผ์์ ์๋ตํ๋ ๊ฒฝ์ฐ -> ํ ๋ฌ ๋ค ???์ํ๊ฐ ๋๋ฉฐ 2๋ฐฐ๋ก ๊ณ ์ํจ
์ฃผ์์ด ์ ์์ฑ๋์ด ์๋ ์ฝ๋ -> ๋ช๋ ๋ค์ ์ฝ๋๋ฅผ ์ฝ์ด๋ ์ ์ดํด๊ฐ ๋จ
04. ์ปดํจํฐ์์ ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ
์(Number) & ์ซ์(Digit) >
์(number)๋, ์ด๋ค ๋ฌผ์ง์ ์์ ๋ํ๋ด๋ ๋จ์์ด๋ฉฐ ์ซ์(digit)๋, ์ด๋ฅผ ๊ธฐ๋กํ ์ ์๋๋ก ์๊ฐํ ํ ๊ฒ์ด๋ค.
์๋ฅผ ๋ค์ด ์ฌ๊ณผ๊ฐ 100๊ฐ(์)์๋ค๋ ์ฌ์ค์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ฌ๊ณผ๋ฅผ 100๊ฐ ๊ทธ๋ ค์ผํ๋ฉด ์๋นํ ๋ฒ๊ฑฐ๋ก์ธ ๊ฒ์ด๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ '100'์ด๋ผ๋ ์ซ์๋ฅผ ์จ์ ์ฌ๊ณผ๊ฐ 100๊ฐ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค.
๋๋ผ์ด ์ ์ ์ฐ๋ฆฌ๊ฐ 0~9๊น์ง์ ์ซ์๋ง(digit)์ ์ด์ฉํด์ ์(number)๋ฅผ ํ์ํ ์ ์๋ค๋ ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ด๋ค! ์ด๋ ์ฌ๊ณผ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด '์ฌ๊ณผ' ๋ฟ๋ง ์๋๋ผ 'apple', 'ใชใณใด’'๋ผ๊ณ ์จ๋ ๋๋ ๊ฒ๊ณผ ๋น์ทํ๋ค. ์ฐ๋ฆฌ๋ 0๊ณผ 1๋ง์ ์ด์ฉํด ์๋ฅผ ํ์ํ ์ ์๊ณ 100๊ฐ์ ์ซ์๋ฅผ ์ด์ฉํด ์๋ฅผ ํ์ํ ์๋ ์๋ค.
์ด๋ ๊ฒ ์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ์ ๊ธฐ์๋ฒ(Numeral system)์ด๋ผ๊ณ ํ๋ค.
์ํ์ ๋ฐฐ๊ฒฝ ์ง์ - ๋ฐ๊ณผ ์ง์ >
2๋ฅผ 100๋ฒ ๊ณฑํ๊ฒ์ \(2^{100}\)์ด๋ผ๋ ๊ฒ์ ์๋๊น ๋์ด๊ฐ์.
์ง์์์ ๊ฐ์ฅ ์ค์ํ ์ฌ์ค์ \((number)^{0}=1\)์ด๋ผ๋ ์ฌ์ค์ด๋ค.
์ด๋ป๊ฒ ์ซ์๋ฅผ ํ ๋ฒ๋ ์ ๊ณฑํ๋๋ 1์ด ๋ ์๊ฐ ์๋! ๋ผ๊ณ ๋ง ํ ์ ์๊ฒ ์ง๋ง, ์ด๋ ์ํ์๋ค ์ฌ์ด์ ์ฝ์์ฒ๋ผ ์ ์ํ ๊ฐ์ด๋ค.
์ํ์ "๋ณต์กํ ๊ฒ์ ๋จ์ํ"๋ผ๋ ๋ชฉ์ ํ์ ๋ฐ์ ํด์๋ค.
๋ง์ผ ์ด ๊ฐ์ 1์ด๋ผ ํ์ง ์๋๋ค๋ฉด ์ฌ๋ฌ ์ง์๋ค์ ๊ด๋ จ๋ ์ค์ํ ๋ฒ์น๋ค์ด ์ฑ๋ฆฝ๋์ง ์๋๋ค. ๋ค์๋งํด ์ด๋ค ์์ 0์น ํ ๊ฒ์ด 1์ด๋ผ ์๊ฐํ๋ ๊ฒ์, ๋ค๋ฅธ ๋ฒ์น๋ค์ด ๋ง์กฑ๋๊ธฐ ์ํด ๊ทธ๋ ๊ฒ ์ฝ์ํ ๊ฒ์ด๋ค... ์ด๋ค.
์ญ์ง๋ฒ, ์ด์ง๋ฒ 16์ง๋ฒ >
์ญ์ง๋ฒ >>
์๋ผ๋น์ ์ซ์๋ฅผ ์ฌ์ฉํ๋ ์ฐ๋ฆฌ๋ ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 10๊ฐ์ ์ซ์๋ฅผ ์ด์ฉํ๋ ์ญ์ง๋ฒ(decimal)์ ์ด์ฉํ๊ณ ์๋ค.
์ฐ๋ฆฌ๋ 253์ด๋ผ๋ ์ซ์๊ฐ ๋์ค๋ฉด \(253 = 2*10^{2} + 5*10^{1} + 3*10^{0}\)์ด๋ผ๊ณ ์๊ฐํ๋ค.
์ฃผ๋ชฉํด์ผํ ๋ถ๋ถ์ ํ ์๋ฆฌ์๊ฐ ๋์ด๋ ๋ ๋ง๋ค ๊ทธ ์๋ฆฌ๋ฅผ ๋ํ๋ด๋ ์ซ์์ 10์ด ๊ณฑํด์ง๋ค๋ ๊ฒ์ด๋ค. 1์์๋ฆฌ์์๋ 3์ด๋ผ๋ ์ซ์์ 1์ด ๊ณฑํด์ง๊ณ 10์์๋ฆฌ์์๋ 5๋ผ๋ ์์ 10์ด ๊ณฑํด์ง๊ณ 100์ ์๋ฆฌ์์๋ 2๋ผ๋ ์ซ์์ 100์ด ๊ณฑํด์ง๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ญ์ง๋ฒ์ ๊ฐ์ฅ ํฐ ํน์ง์ด๋ค.
๋ ์ค์ํ ํน์ง์ผ๋ก ์ญ์ง๋ฒ์ 10๊ฐ์ ์ซ์๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ค. 0๋ถํฐ 9๊น์ง์ ์ซ์๋ง์ด๋ค. 297, 109 ๋ฑ ๋ชจ๋ ์ญ์ง์ ์ซ์๋ค์ 0~9 ์ฌ์ด์ ์ซ์๋ค๋ก๋ง ์ด๋ฃจ์ด์ ธ์๋ค.
์ด์ง๋ฒ >>
์์ ์์ด๋์ด๋ฅผ ์ ์ฉ์ํค๋ฉด ์ด์ง๋ฒ๋ ์ฝ๊ฒ ์ดํดํ ์ ์๋ค.
์ปดํจํฐ๋ 0๊ณผ 1(on off)์ธ ๋ ์ข ๋ฅ์ ์ซ์๋ฐ์ ํํํ์ง ๋ชปํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ปดํจํฐ๋ก 253์ด๋ผ๋ ์ซ์๋ ์ด๋ป๊ฒ ํํ๋ ๊น?
์ญ์ง๋ฒ์์ ์ฌ์ฉํ ๊ท์น์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ๋๋ค. ์ฌ์ด ์์๋ก ๋จผ์ ์ดํด๋ณด์.
\(6 = 4 + 2 = 1*2^{2} + 1*2^{1} + 0*2^{0} = 110_{2}\)
์ญ์ง๋ฒ์์ ํ ์๋ฆฌ ๋์ด๋ ๋๋ง๋ค 10์ด ๊ณฑํด์ก๋ค๋ฉด, ์ด์ง๋ฒ์์๋ ํ ์๋ฆฌ๊ฐ ๋์ด๋ ๋๋ง๋ค 2๋ฅผ ๊ณฑํ๋ฉด ๋๋ค.
๊ทธ๋ผ ์ด์ 253์ ์ด์ง๋ฒ์ผ๋ก ๋ํ๋ด๋ณด์.
\(253 = 128 + 64 + 32 + 16 + 8 + 4 + 1\)
\(= 1*2^{7} + 1*2^{6} + 1*2^{5} + 1*2^{4} + 1*2^{3} + 1*2^{2} + 0*2^{1} + 1*2^{0}\)
-> ์ด์ง์๋ฅผ ์ญ์ง์๋ก ๋ฐ๊พธ๋๊ฒ์ ์ฝ๋ค. ์๋ฆฌ์๊ฐ ํ๋ ์ฌ๋ผ๊ฐ ๋๋ง๋ค 2๊ฐ ๊ณฑํด์ง๋ ๊ฒ๋ง ์๊ฐํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ๊ด๊ฑด์ ์ญ์ง์๋ฅผ ์ด๋ป๊ฒ ์ด์ง์๋ก ๋ฐ๊พธ๋๊ฐ์ด๋ค. ์ด๋ ค์๋ณด์ผ ์ ์์ง๋ง ๋งค์ฐ ๊ฐ๋จํ๋ค. ๊ทธ๋ฅ ์ญ์ง์๋ฅผ 2๋ก ๋๋๋ ์ฐ์ฐ์ ํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
16์ง๋ฒ >>
ํ์ง๋ง ์ด์ง๋ฒ์ผ๋ก ์ซ์๋ฅผ ํํํ๋ฉด ๋๋ฌด ๊ธธ์ด์ ธ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง๋ค. ๊ทธ๋์ ํ๋ก๊ทธ๋๋จธ๋ค์ ๋ณดํต 16์ง๋ฒ์ ์ฌ์ฉํ๋ค. 16์ง๋ฒ ๋ํ ์์์ ์ดํด๋ดค๋ ํจํด์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ๋๋ค.
๋ฐ๋ผ์ 123์ \(123 = 7*16 + 11 = 7*16^{1} + 11*16^{0} = 0x7B\)๋ก ํํ๋๋ค.
- A=10
- B=11
- C=12
- D=13
- E=14
- F=15
-> 16์ง์๋ฅผ 10์ง์๋ก ๋ฐ๊พธ๋ ๊ฒ๋ ๊ทธ๋ฅ ์๋ฆฟ์๊ฐ ์ฌ๋ผ๊ฐ ๋๋ง๋ค 16์ ๊ณฑํด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ฉด ๋๋ค. 0x7B์ ๊ฒฝ์ฐ 11์ 1์ ๊ณฑํ๊ณ 7์ 16์ ๊ณฑํ๋ฉด ๋๋ค.
-> ๊ทธ๋ฌ๋ฉด ์ด์ 16์ง์๋ฅผ 2์ง์๋ก ๋ฐ๊พธ์ด๋ณด์.
์ด๋๋ ๋จ์ํ 16์ง์์ ๊ฐ ์๋ฆฌ์๋ฅผ (๋ฐ๋์)4์๋ฆฌ ์ด์ง์๋ก ๋ณํํด์ฃผ๋ฉด ๋๋ค.
โป์์ธ์ ์ผ๋ก ๋งจ ์์๋ฆฌ๋ ๊ตณ์ด 4์๋ฆฌ ๋ง์ถ ํ์ ์์
0x7B์ ๊ฒฝ์ฐ 1111011(0111/1011)๋ก ํํ๋๋ค. ๋งจ ์์๋ฆฌ ์ซ์์ธ 7์ ๊ฒฝ์ฐ 0111์ด๊ธฐ ๋๋ฌธ์ ๊ตณ์ด 4์๋ฆฌ์๋ฅผ ๋ง์ถ์ง ์๊ณ 111์ผ๋ก ์ด๋ค.
-> ์ด์ง์๋ฅผ 16์ง์๋ก ๋ณํํ๋ ๊ฒ๋ ๊ฐ๋จํ๋ค. ๋ค์์๋ถํฐ 4์๋ฆฌ์ฉ ๋์ด์ ์ฝ์ผ๋ฉด ๋๋ค. 1111011์ ๊ฒฝ์ฐ 111/1011์ด๋ฏ๋ก 0x7B๊ฐ ๋๋ค.
์ปดํจํฐ ๋ฉ๋ชจ๋ฆฌ์ ๋จ์ >
์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ์ ํฌ๊ฒ ๋ ๋ถ๋ฅ๋ก ๋๋ ์ ์๋ค.
- ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ(ex. Ram(random access memory)): ์ปดํจํฐ๋ฅผ ์ข ๋ฃํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ
- ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ(ex. Rom(read only memory), ํ๋๋์คํฌ): ์ปดํจํฐ๋ฅผ ์ข ๋ฃํด๋ ๋ฐ์ดํฐ๊ฐ ๋ ์๊ฐ์ง ์์
Ram์ Rom์ ๋นํด ๋นํด ์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ค. ์๋ํ๋ฉด ๋จ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ์ ๋๋คํ๊ฒ ์ ๊ทผํ ์ ์๋๋ฐ ๋กฌ(ํ๋๋์คํฌ or CD)์ ๊ฒฝ์ฐ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค.
์ด๋ฐ ๋น ๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ ํน์ฑ ๋๋ฌธ์ ์ปดํจํฐ๋ ๋๋ถ๋ถ์ ๋ฐ์ดํฐ๋ค์ ๋ฉ๋ชจ๋ฆฌ(์์ผ๋ก Ram=๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฅผ๊ฑฐ์)์ ๋ณด๊ดํด ๋๊ณ ์์ ์ ํ๋ค. ๋ฌผ๋ก ์ค์ํ ๋ฐ์ดํฐ๋ค์ ํํํ ํ๋๋์คํฌ์ ์ ์ฅํด ๋ ์๊ฐ์ง ์๊ฒ ํ๋ค.
์ปดํจํฐ์ ํ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์๋ 0 ๋๋ 1์ ๊ฐ์ ๋ณด๊ดํ ์ ์๋ค. ์ด ์ด์ง์ ํ ์๋ฆฌ๋ฅผ Bit๋ผ๊ณ ํ๋ค. ๋ฐ๋ผ์ 1bit๋ก๋ 1 ๋๋ 0์ ๋ํ๋ผ ์ ์๋ค.
ํ์ง๋ง ์ด๋ ๋๋ฌด ์์ ์์ด๊ณ ์ฐ๋ฆฌ๋ ๋ณดํต 1๋ณด๋ค ํจ์ฌ ํฐ ์๋ฅผ ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์, ์ฌ๋๋ค์ 8bit๋ฅผ ๋ญ์ด์ Byte๋ผ๊ณ ๋ถ๋ฅธ๋ค.
8 ๋นํธ๋ก ๋ํ๋ผ ์ ์๋ ์ต๋ ์๋ 0 ~ 255๊น์ง ์ด 256๊ฐ์ด๋ค.
00000000 ~ 11111111 = 0 ~ 155 = 0 ~ 0FF
์ปดํจํฐ์์ ์ฐ์ฐ์ ๋ด๋นํ๋ CPU์๋ ๋ ์ง์คํฐ(register)๋ผ๋ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์๋๋ฐ, CPU๋ ์ด๊ณณ์ ๊ฐ์ ๋ถ๋ฌ๋ค ๋๊ณ ์ฐ์ฐ์ ์ํํ๋ค. ์ด๋ฌํ ๋ ์ง์คํฐ์ ํฌ๊ธฐ๋ ์ปดํจํฐ ์์์ ์ฐ์ฐ์ด ์คํ๋๋ ์ต์ ๋จ์๋ผ๊ณ ๋ณผ ์ ์๊ณ ์ด ํฌ๊ธฐ๋ฅผ ์๋(Word)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
32๋นํธ ์ปดํจํฐ์ ๊ฒฝ์ฐ 1์๋ = 32๋นํธ = 4๋ฐ์ดํธ
64๋นํธ ์ปดํจํฐ์ ๊ฒฝ์ฐ 1์๋ = 64๋นํธ = 8๋ฐ์ดํธ๊ฐ ๋๋ค.
'๐ฆ Private > C Language' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
C์ธ์ด๋? (0) | 2024.12.31 |
---|