๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋กœ๊ทธ๋ž˜๋ฐ43

์˜์‚ฌ๋‚œ์ˆ˜ Pseudo-Random Number ๋‚œ์ˆ˜ Random Number ์•„๋ฌด๋Ÿฐ ๊ทœ์น™ ์—†์ด ๋ฌด์ž‘์œ„๋กœ ์ถœํ˜„ํ•˜๋Š” ์ž„์˜์˜ ์ˆ˜, ์˜ˆ์ธก ๋ถˆ๊ฐ€๋Šฅํ•œ ์ˆ˜ ์‚ฌ๋žŒ์˜ ์œก๊ฐ์ด๋‚˜ ์ฐฉ์ƒ๊ณผ ๋น„์Šทํ•œ ์‚ฌ๊ณ ๋ฅผ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ• ์ •์ด์‹ญ๋ฉด์ฒด ํ˜•ํƒœ์˜ ๋‚œ์ˆ˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ ธ ์ž„์˜์˜ ์ˆซ์ž๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์˜์‚ฌ ๋‚œ์ˆ˜ Pseudo-Random Number ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋‚œ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์‹์„ ์‚ฌ์šฉํ•ด์„œ ์—ฐ๊ด€์„ฑ์ด ์—†๋Š” ๋“ฏํ•œ ์ˆ˜์—ด์„ ์ƒ์„ฑ. ์ง„์ •ํ•œ ๋‚œ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜์‚ฌ(Pseudo) ๋‚œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. 1. ์ดˆ๊ธฐ๊ฐ’(Seed)์—์„œ ์ถœ๋ฐœ 2. ํŠน์ • ๊ณต์‹์„ ํ†ตํ•ด ์ˆ˜ ์ƒ์„ฑ 3. ๊ทธ ์ˆ˜๋ฅผ ๋‹ค์‹œ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ง€์ • ์ผ๋ฐ˜์ ์œผ๋กœ ์„ ํ˜• ํ•ฉ๋™๋ฒ•(Linear Congruential Generator, LCG) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•œ ๋‚œ์ˆ˜ ์ƒ์„ฑ์„ ๋งŽ์ด ์ด์šฉํ•œ๋‹ค. C ์–ธ์–ด์˜ ๊ฒฝ์šฐ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” stblib.h .. 2015. 3. 3.
๋ฐ์ดํ„ฐ ํƒ€์ž… Data Type ๋ณ€์ˆ˜ Variables ์ˆ˜์น˜ ๋ฐ ๋ฌธ์ž์—ด์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์žฅ์†Œ๋ฅผ ๋ณ€์ˆ˜๋ผ ํ•œ๋‹ค. ์ด๋“ค์€ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ํฌ๊ธฐ์™€ ํ‘œํ˜„๋ฒ”์œ„๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋ชฉ์ ์— ๋งž๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์“ฐ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค. ๋ณ€์ˆ˜๋Š” ํ˜•ํƒœ์— ๋”ฐ๋ผ ์ •์ˆ˜ํ˜•(Integer types)๊ณผ ์‹ค์ˆ˜ํ˜•(Floating-point types)์œผ๋กœ ๋ถ„๋ฅ˜๋˜๋ฉฐ, ๋ถ€ํ˜ธ๋ฅผ ๊ณ ๋ คํ•  ๊ฒƒ์ธ์ง€์— ๋”ฐ๋ผ signed, unsigned๋กœ ๊ตฌ๋ณ„ํ•œ๋‹ค. Integer Types Data type bit byte (B) Value range (signed) char 8 1 -27 to 27-1 unsigned char 0 to 28 (signed) int 32 4 -231 to 231 -1 unsigned int 0 to 232 (signed) short 16 2 -215 to 215-1 u.. 2015. 3. 3.
๊ธฐ์ˆ˜๋ฒ• ๋ฐ ์‚ฐ์ˆ  ์—ฐ์‚ฐ Number system and Arithmetic Operation ๊ธฐ์ˆ˜๋ฒ• Numeral System 2์ง„๋ฒ•(binary system): 2๋ฅผ ๋ฐ‘์œผ๋กœ ํ•˜๋Š” ๊ธฐ์ˆ˜๋ฒ•. 0๊ณผ 1 ๋‘ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉ. 8์ง„๋ฒ•(octal system): 8์„ ๋ฐ‘์œผ๋กœ ํ•˜๋Š” ๊ธฐ์ˆ˜๋ฒ•. 0๋ถ€ํ„ฐ 7๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์‚ฌ์šฉ. 16์ง„๋ฒ•(hesadecimal system): 16์„ ๋ฐ‘์œผ๋กœ ํ•˜๋Š” ๊ธฐ์ˆ˜๋ฒ•. 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž, A๋ถ€ํ„ฐ F๊นŒ์ง€์˜ ๋กœ๋งˆ์ž๋ฅผ ์‚ฌ์šฉ. ๋ชจ๋“  ๊ธฐ์ˆ˜๋ฒ•์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ ์ž๋ฆฌ์ˆ˜์™€ ๋ฐ‘์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์˜ ๊ณฑ์œผ๋กœ ๋‚˜ํƒ€๋‚ด์–ด 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปดํ“จํ„ฐ์—์„œ 2์ง„๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ? ์ปดํ“จํ„ฐ์˜ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ง‘์ ํšŒ๋กœ(Integrated Circuit, IC)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. IC์˜ ํ•€ ๊ฐ๊ฐ์€ ๋ณดํ†ต ์ง๋ฅ˜์ „์•• 0V ๋˜๋Š” +5V ์ค‘ ํ•˜๋‚˜์˜ ์ „์••์„ ๊ฐ–๊ฒŒ ๋˜์–ด, ํ•€ 1๊ฐœ๋กœ๋Š” ON/OFF ๋‘ ๊ฐ€์ง€ ์ƒํƒœ๋งŒ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ .. 2015. 3. 3.
[tbd] ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ code seg. data seg. heap = free memory stack ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ๋งˆ๋‹ค RAM = ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ํ•„์š”ํ•œ ์ง€์—ญ/์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ ์œ„ํ•ด ํ• ๋‹น code : ํ•จ์ˆ˜. ์ œ์–ด data: variables store. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ๋˜์–ด์•ผ ์†Œ๋ฉธ๋จ. ์ „์—ญ ๋ณ€์ˆ˜. static ๋ณ€์ˆ˜ heap = memory - (code + data + stack): all dynamic memory management is performed. system ์ž์›์— ์˜ํ•œ ์ œํ•œ (๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น) ์ปดํŒŒ์ผ ํ•˜๋Š” ๋™์•ˆ ๊ฒฐ์ • ํ”„๋กœ๊ทธ๋žจ runtime์— ๋ฉ”๋ชจ๋ฆฌ ๊ฒฐ์ •ํ•  ๊ฒฝ์šฐ (์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ) stack: function calls, function arguments, function variables, state of the p.. 2015. 3. 3.