๐ŸŒ CS:APP | ์ง„๋ฒ• ๋ณ€ํ™˜

์ด์ˆœ๊ฐ„ยท2025๋…„ 4์›” 3์ผ

CS:APP

๋ชฉ๋ก ๋ณด๊ธฐ
18/23

๐Ÿงฎ 2์ง„์ˆ˜ โ†” 16์ง„์ˆ˜ ๋ณ€ํ™˜, ์™œ ์ค‘์š”ํ• ๊นŒ?

์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜, ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜, ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋ฅผ ํ•ด์„ํ•  ๋•Œ ์ž์ฃผ ๋งˆ์ฃผ์น˜๋Š” ๊ฑด ๋ฐ”๋กœ 16์ง„์ˆ˜(hex)๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๊ทธ ๊ฐ’์˜ ์˜๋ฏธ๋Š” 2์ง„์ˆ˜๋กœ ๋ด์•ผ ์ •ํ™•ํžˆ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ… 16์ง„์ˆ˜๋Š” ์‚ฌ๋žŒ์ด ๋ณด๊ธฐ ํŽธํ•œ 'ํ‘œ๊ธฐ๋ฒ•'์ผ ๋ฟ, ์ปดํ“จํ„ฐ๋Š” 2์ง„์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.


๐Ÿ” 2์ง„์ˆ˜ โ†” 16์ง„์ˆ˜ ๋ณ€ํ™˜๋ฒ•

16์ง„์ˆ˜2์ง„์ˆ˜ 4์ž๋ฆฌ
00000
10001
20010
30011
40100
50101
60110
70111
81000
91001
A1010
B1011
C1100
D1101
E1110
F1111

์˜ˆ: 2์ง„์ˆ˜ 10101100 โ†’ 16์ง„์ˆ˜

โ†’ 4๋น„ํŠธ์”ฉ ๋ฌถ์–ด์„œ: 1010 1100 โ†’ A C
โ†’ ๊ฒฐ๊ณผ: 0xAC

์˜ˆ: 16์ง„์ˆ˜ 0x3F โ†’ 2์ง„์ˆ˜

โ†’ 3 โ†’ 0011, F โ†’ 1111 โ†’ ๊ฒฐ๊ณผ: 00111111


๐Ÿ”ข 16์ง„์ˆ˜ โ†” 10์ง„์ˆ˜ ๋ณ€ํ™˜๋ฒ•

16์ง„์ˆ˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์— 16์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์„ ๊ณฑํ•ด์„œ ๋”ํ•œ๋‹ค

์˜ˆ: 0x1A3

1ร—16^2 = 256
A = 10 โ†’ 10ร—16 = 160
3ร—1 = 3
โ†’ ์ดํ•ฉ: 256 + 160 + 3 = 419

์˜ˆ: 0xFF โ†’ 15ร—16 + 15 = 240 + 15 = 255


๐Ÿง  BCD (Binary-Coded Decimal)

์‹ญ์ง„์ˆ˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ 4๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ์ง„๋ฒ• ๋ฐฉ์‹

์˜ˆ: 39 โ†’ BCD๋กœ

  • 3 โ†’ 0011
  • 9 โ†’ 1001
  • ๊ฒฐ๊ณผ: 0011 1001

BCD๋Š” ์‚ฌ๋žŒ ์นœํ™”์  ํ‘œํ˜„์ด์ง€๋งŒ, ๊ณ„์‚ฐ ํšจ์œจ์€ ๋–จ์–ด์ ธ์„œ ๋””์ง€ํ„ธ ์‹œ๊ณ„, ๊ณ„์‚ฐ๊ธฐ ๋“ฑ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋จ


โš™๏ธ ์‹ค์ „ ์–ด์…ˆ๋ธ”๋ฆฌ์—์„œ ์™œ 2์ง„์ˆ˜ ํ•ด์„์ด ํ•„์š”ํ•œ๊ฐ€?

and $0xF0, %al

โ†’ 0xF0 = 11110000 (๋น„ํŠธ ๋งˆ์Šคํฌ)
โ†’ ์ƒ์œ„ 4๋น„ํŠธ๋งŒ ๋‚จ๊ธฐ๊ณ , ํ•˜์œ„ 4๋น„ํŠธ๋ฅผ ๋‚ ๋ฆฐ๋‹ค

cmp $0x80, %al

โ†’ 0x80 = 10000000
โ†’ ๊ฐ€์žฅ ์™ผ์ชฝ ๋น„ํŠธ(MSB)๋ฅผ ๊ฒ€์‚ฌ โ†’ ์ด ๊ฐ’์ด ์Œ์ˆ˜์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„

๐Ÿ“Œ ์ด๋Ÿฐ ์—ฐ์‚ฐ์€ ๋น„ํŠธ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๋Š”์ง€ ํ•ด์„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ์ดํ•ด ๊ฐ€๋Šฅ


โœ๏ธ ์š”์•ฝ ์ •๋ฆฌ

  • 16์ง„์ˆ˜๋Š” 2์ง„์ˆ˜ 4์ž๋ฆฌ๋กœ ์ •ํ™•ํžˆ ๋Œ€์‘๋จ
  • ์–ด์…ˆ๋ธ”๋ฆฌ, ๋””๋ฒ„๊น…, ๋ฉ”๋ชจ๋ฆฌ ๋ถ„์„์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ 2์ง„์ˆ˜๋กœ ํ•ด์„ํ•ด์•ผ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ
  • BCD๋Š” ์ˆซ์ž๋ฅผ 4๋น„ํŠธ ๋‹จ์œ„๋กœ ์ชผ๊ฐœ๋Š” ํ‘œํ˜„ ๋ฐฉ์‹์ด๋ฉฐ, ์ œํ•œ์ ์ธ ํ™˜๊ฒฝ์—์„œ ์œ ์šฉํ•จ

โœ… ๋‹ค์Œ ํŽธ ์˜ˆ๊ณ 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” ์ด ๋น„ํŠธ๋“ค์ด ๋ชจ์—ฌ ์ฝ”๋“œ, ์ฃผ์†Œ, ์ƒ‰์ƒ, ํŒŒ์ผ, ๋ฐ์ดํ„ฐ, ๊ฒŒ์ž„์„ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•˜๋Š”์ง€๋ฅผ ์‚ดํŽด๋ณด์ž.

์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๋ชจ๋“  ๊ฒƒ์€ ๊ฒฐ๊ตญ 0๊ณผ 1์˜ ๋‚˜์—ด์ด๋‹ค.

profile
์„œํˆด์ง€์–ธ์ • ๋Š˜ ํ–‰๋™์ด ๋จผ์ €์ด๊ธฐ๋ฅผ

0๊ฐœ์˜ ๋Œ“๊ธ€