์ ์ฒด๋ณด๊ธฐ114 ์์คํค์ฝ๋(ASCII)๊ฐ 128๊ฐ๋ฐ์ ์๋ ์ด์ ์์คํค์ฝ๋๋? ASCII (American Standard Code for Information Interchange, ๋ฏธ๊ตญ ์ ๋ณด ๊ตํ ํ์ค ๋ถํธ)๋ ๋ฌธ์๋ฅผ ํํํ๋ ๊ฐ์ฅ ์ด์ฐฝ๊ธฐ ๋ฌธ์ ์งํฉ ์ค ํ๋์ ๋๋ค. ์๋๋ ๋๋ฌด์ํค์ ์ค๋ช ์ ๋ง๋ถ์์ผ๋ ๊ฐ๋ณ๊ฒ ๋ณด์๊ธธ ๋ฐ๋๋๋ค. ์๋ฌธ ํค๋ณด๋๋ก ์ ๋ ฅํ ์ ์๋ ๋ชจ๋ ๊ธฐํธ๋ค์ด ํ ๋น๋์ด ์๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ถํธ ์ฒด๊ณ์ด๋ค. ๋งค์ฐ ๋จ์ํ๊ณ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์ ์ด๋ ์์คํ ์์๋ ์ ์ฉ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๋ค. 8๋นํธ ์ปดํจํฐ์์๋ ์์คํค ์ฝ๋์ 1๋นํธ๋ฅผ ๋ํด ๋ ๋ง์ ๋ฌธ์๋ฅผ ํํํ ์ ์๋ ์ฌ์ง๊ฐ ์๊ฒผ๊ณ , ์์คํค ์ฝ๋์ ์๋ ๋ฌธ์๋ฅผ ์ถ๊ฐํด "์ฝ๋ํ์ด์ง"๋ฅผ ์ ์ ํ์๋ค. IBM PC์์๋ "Codepage 437"(๋ผํด์ด, ์์ฑ๊ธฐํธ, ์ํ๊ธฐํธ, ๊ด์ , ํน์๋ฌธ์ ๋ฑ ์ถ๊ฐ)์ ์ฌ์ฉํ๊ณ , ํ์ฅ๋.. 2023. 10. 7. 10์ง์ -> 2์ง์/16์ง์ ๋ณํ(2์ง์/16์ง์ -> 10์ง์ ๋ณํ) ์ค๋์ 10์ง์, 2์ง์, 16์ง์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ค๋ฅธ ์ง์๋ฒ๋ ์๋๋ฐ ์ 10์ง์, 2์ง์, 16์ง์๋ง ๋ค๋ฃจ๋๊ณ ์? ๋จผ์ 10์ง์๋ ๋น์ฐํ ์ฌ๋์๊ฒ ์ต์ํฉ๋๋ค. ์๊ฐ๋ฝ ๊ฐ์๊ฐ 10๊ฐ์ธ ๊ฒ์ ๋ฐ๋ผ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ํ ์ซ์ ์ฒด๊ณ๋ 10์ง์์ ๋๋ค. 2์ง์๋ ์ปดํจํฐ์๊ฒ ์ต์ํฉ๋๋ค. ์ปดํจํฐ๋ 0๊ณผ 1๋ก๋ง ์ฐ์ฐํ๊ธฐ ๋๋ฌธ์ด์ฃ . ๊ทธ๋ฌ๋ฉด 16์ง์๋ ์ด๋จ๊น์? ์ฐ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ํน์ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์นํ๊ฒ ๋๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐ์ด๋ณด๋ฉด 0x25F7C14 ์ ๊ฐ์ด ๋์ต๋๋ค. 0x๋ผ๊ณ ํ์๋๋ ๊ฒ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๋ํ๋ด๋ ๊ฒ์ด๋ฉฐ 25F7C14๊ฐ ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ธ๋ฐ ์ด๊ฒ 16์ง์๋ก ๋ํ๋ฉ๋๋ค. ์ฆ, 16์ง์๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฝ๋๋ก ๋ํ๋ธ ์ปดํจํฐ์ ์ฌ๋์ ์ค๊ฐ ํํ๋จ๊ณ๋ผ๊ณ ๋ณผ ์ ์.. 2023. 10. 5. ํด๋์ค์ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ํด๋์ค์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค๋ ๊ฒ์ ๊ฒฐ๊ตญ CPU์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ ๊ตํ์ผ๋ก ํ์๋ ์ ์์ต๋๋ค. ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ํ๋ก๊ทธ๋จ ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ CPU๊ฐ ์คํํ๊ณ ์คํ ์ค์ ๋ฉ๋ชจ๋ฆฌ์ ๋ด์ฉ์ ์ฝ๊ฑฐ๋ ์๋ก์ด ๋ด์ฉ์ ์ฐ๋ ๊ฒ์ด ๊ฑฐ์ ์ ๋ถ๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๋ฐ ์์ด์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ค์ํ๋ค๋ ๋ง์ ๋๋ค. class CTest { public: char m_Char; int m_Int; double m_Double; static int m_SInt; int MemberFunc() { return m_Int; } }; ์ ํด๋์ค CTest์ ์ ์ ๋ฉค๋ฒ ๋ณ์ m_SInt์ ๋ฉค๋ฒ ํจ์ MemberFunc๋ CTest t ๊ฐ์ฒด์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํฌํจ๋์ด ์์ง ์์ต๋๋ค. ์ผ๋ฐ ๋ฉค๋ฒ๋ณ์๋ ๊ฐ.. 2023. 9. 14. ์ปค๋(Kernel)๊ณผ ์ธํฐํ์ด์ค(Interface) ์ปค๋(Kernel) ์ด์์ฒด์ ์ ์ปค๋์ ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ผ๋ก, ์ปดํจํฐ ์์คํ ์ ํต์ฌ ๊ธฐ๋ฅ์ ์ํํ๋ ํต์ฌ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ๋๋ค. ์ปค๋์ ์์คํ ์ ๋ชจ๋ ๊ฒ์ ์์ ํ ์ ์ดํ๋ ๋ถ๋ถ์ผ๋ก ์์๊ณผ ํ๋ก์ธ์ค, ์ ์ถ๋ ฅ ๋ฑ์ ๊ด๋ฆฌํฉ๋๋ค. 1. ์ญํ ๊ณผ ๊ธฐ๋ฅ ์์ ๊ด๋ฆฌ: ์ปค๋์ ์์คํ ์์์ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฌํ ์์์๋ CPU ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ, ์ ์ถ๋ ฅ ์ฅ์น ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์ปค๋์ ์ด๋ฌํ ์์์ ํ๋ก์ธ์ค ๊ฐ์ ๊ณต์ ํ๊ฒ ํ ๋นํ๊ณ ๊ด๋ฆฌํฉ๋๋ค. ํ๋์จ์ด ์ถ์ํ: ์ปค๋์ ํ๋์จ์ด์ ์ํํธ์จ์ด ๊ฐ์ ์ธํฐํ์ด์ค ์ญํ ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ฉ ํ๋ก๊ทธ๋จ์ ํ๋์จ์ด๋ฅผ ์ง์ ๋ค๋ฃจ์ง ์๊ณ ๋ ์ปค๋์ ํตํด ํ๋์จ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ๋ก์ธ์ค ๊ด๋ฆฌ: ์ปค๋์ ํ๋ก์ธ์ค๋ฅผ ์์ฑ, ์ข ๋ฃ ๋ฐ ์ค์ผ์ค๋งํ๋ฉฐ, ๋ค์ค ํ๋ก์ธ์ค ํ๊ฒฝ์์ ๊ฐ.. 2023. 9. 12. ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ๋? ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ(Von Neumann architecture) ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ(Von Neumann architecture)๋ ํ๋ ์ปดํจํฐ ์ํคํ ์ฒ์ ์ค์ํ ๊ฐ๋ ์ค ํ๋๋ก, ์ปดํจํฐ ์์คํ ์ ์ค๊ณ์ ๋์ ์๋ฆฌ๋ฅผ ์ค๋ช ํ๋ ๊ธฐ๋ณธ์ ์ธ ํ๋ ์์ํฌ์ ๋๋ค. ์ด ์ํคํ ์ฒ๋ ์ปดํจํฐ ํ๋์จ์ด์ ์ํํธ์จ์ด๊ฐ ์ํธ์์ฉํ๋ ๋ฐฉ์์ ์ ์ํ๋ฉฐ, ๋๋ถ๋ถ์ ์ผ๋ฐ์ ์ธ ์ปดํจํฐ ์์คํ ์ด ์ด๋ฌํ ์ํคํ ์ฒ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ณ๋์ด ์์ต๋๋ค. ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ์ ์ฃผ์ ํน์ง์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. 1. ์ค์ ์ฒ๋ฆฌ ์ฅ์น(Central Processing Unit, CPU): ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ์ ํต์ฌ์ CPU๋ก, ์ด๋ ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค. 2. ๋ฉ๋ชจ๋ฆฌ(Memory): ํฐ๋ ธ์ด๋ง ๊ตฌ์กฐ์์๋ ๋ฐ์ดํฐ์ ํ๋ก๊ทธ๋จ ๋ช ๋ น์ด๊ฐ ๋์ผํ ๋ฉ๋ชจ๋ฆฌ.. 2023. 9. 5. [C++] 22. ์ค๋ ๋ ํ(Thread Pool), ์์ฐ์ ์๋น์ ํจํด(Producer-consumer) ์ง๋ ์๊ฐ์์๋ ์ค๋ ๋ ์ฌ์ฉํ ๋ ์ฃผ์ํ ์ ๊ณผ ์ค๋ ๋์ ์ค์ ์ฌ์ฉ ์์๋ฅผ ์ดํด๋ดค์ต๋๋ค. [C++] 21. ์ค๋ ๋ ๊ฒฝ์ ์ํ(Race condition), ๋ฎคํ ์ค(mutex), ๋ฐ๋๋ฝ, std::conditional_variable, std::async ์ด๋ฒ ์๊ฐ์๋ ์ค๋ ๋ ํจํค์ง์ ๋ง์ง๋ง ์๊ฐ, ์ค๋ ๋ ํ์ ๋ํด์ ์ดํด๋ณด์์ฃ ! ์์ฐ์-์๋น์ ํจํด(Producer-Consumer) Producer-Consumer ํจํด์ ์ํํธ์จ์ด ๋์์ธ์์ ์ฌ์ฉ๋๋ ์ค์ํ ๋์์ธ ํจํด ์ค ํ๋๋ก, ๋ค๋ฅธ ์ปดํฌ๋ํธ ๊ฐ์ ์์ ์ ๋ถ๋ฆฌํ๊ณ ์กฐ์ ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ํจํด์ ๋ค์์ ์์ฐ์(Producer)์ ์๋น์(Consumer) ๊ฐ์ ํ๋ ฅ์ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์์ฐ์ ์๋น์ ํจํด์ ๋ฐ์ดํฐ์ ์ง์ (income).. 2023. 9. 4. ์ด์ 1 ยทยทยท 6 7 8 9 10 11 12 ยทยทยท 19 ๋ค์