Publish:

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์ด์ „ ๊ธ€ ์—์„œ ์ •์ˆ˜์˜ ์ €์žฅ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์‚ดํŽด๋ดค์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์‹ค์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

โœ”๏ธ ์‹ค์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•

๋ถ€๋™์†Œ์ˆ˜์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์— 10์ง„์ˆ˜ ์ •์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ๋‹ค์‹œ ์‚ดํŽด๋ณด์ž.
\(13_{(10)}\) ์„ 2์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด 2๋กœ ๊ณ„์†ํ•ด์„œ ๋‚˜๋ˆˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋‚˜๋ˆˆ๋‹ค๋Š” ํ–‰์œ„์˜ ์˜๋ฏธ๋Š” 2๊ฐ€ 13์— ๋ช‡๊ฐœ๋‚˜ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•จ์ด๋‹ค. 10์ง„์ˆ˜๊ฐ€ 10์ด ๋  ๋•Œ ๋งˆ๋‹ค ์ž๋ฆฟ ์ˆ˜๊ฐ€ ์˜ฌ๋ผ๊ฐ€๋“ฏ์ด 2์ง„์ˆ˜ ์—์„œ๋Š” 2๊ฐ€ ๋ ๋•Œ ์ž๋ฆฟ ์ˆ˜๊ฐ€ ํ•˜๋‚˜ ์˜ฌ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

13์„ 2์ง„์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๊ณผ์ •

์œ„์ฒ˜๋Ÿผ ๋‚˜๋ˆ—์…ˆ ํ›„ ๋‚˜๋จธ์ง€๋ฅผ ์•„๋ž˜์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์œ„๋กœ ๋‚˜์—ดํ•˜๋ฉด 1101์ด ๋˜๊ณ  ์ด๊ฒŒ 13์˜ 2์ง„์ˆ˜๊ฐ€ ๋œ๋‹ค.
์™œ ๊ทธ๋ ‡๊ฒŒ ๋˜๋Š”์ง€ ํ•œ ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๊ณฑํ•˜๊ธฐ ํ˜•์‹์œผ๋กœ ๋ฐ”๊ฟ”๋ณด๊ฒ ๋‹ค.

์šฐ์„  13์— 2๊ฐ€ ๋ช‡๊ฐœ ๋“ค์–ด์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์œ„ํ•ด์„  \(2^n\) ํ˜•์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด์•ผ ํ•œ๋‹ค. ์ด๋•Œ, ๋‚˜๋ˆ—์…ˆ ์ •๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๊ณฑ์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•ด๋ณด๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋ˆ—์…ˆ ์ •๋ฆฌ

\[\begin{align} 13 &= 2 \cdot (2 \cdot (2 \cdot 1 + 1) + 0) + 1 \cr &= 2 \cdot (2 \cdot ( 2 + 1 ) + 0) + 1 \cr &= 2 \cdot ( 2^2 + 2^1 + 0) + 1 \cr &= 2^3 + 2^2 + 2^0 \end{align} \]

\[ 2^3 \times \color{red} 1 \color{black} + 2^2 \times \color{red} 1 \color{black} + 2^1 \times \color{red} 0 \color{black} + 2^0 \times \color{red} 1 \color{black} = 1101_2 \]

์ •์ˆ˜์˜ ๊ฒฝ์šฐ 10์ง„์ˆ˜๋ฅผ 2๋กœ ๊ณ„์† ๋‚˜๋ˆ„๋ฉด์„œ 1 ๋˜๋Š” 0์„ ๋ฝ‘์•„๋‚ด ์•„๋ž˜์—์„œ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ดํ•˜๋ฉด 2์ง„์ˆ˜๊ฐ€ ๋œ๋‹ค. ์ด๋Š” 2์ง„์ˆ˜ ๋ณ€ํ™˜ ๊ณผ์ •์—์„œ \(2^n\) ์ž๋ฆฌ ๋น„ํŠธ๋ฅผ ์ฑ„์›Œ๊ฐ€๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ๋ณด๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ ์‹ค์ˆ˜(real number)์˜ ๊ฒฝ์šฐ ์†Œ์ˆ˜ ๋ถ€๋ถ„์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ• ๊นŒ?

์˜ˆ๋ฅผ๋“ค์–ด ๊ฐ€๊ฒฉ์ด 1200์›์ธ ๋ฌผ๊ฑด์„ ๊ตฌ๋งคํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์ด๋•Œ 2000์›์„ ๋‚ธ๋‹ค๋ฉด ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๊ตฌํ•˜๋Š” ๊ณผ์ •์„ ์ƒ๊ฐํ•ด๋ณด์ž. ๋‹น์—ฐํžˆ ๋‹จ์œ„๊ฐ€ ํฐ ์ง€ํ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ ๋ช‡์žฅ์ด ํ•„์š”ํ•œ์ง€ ์ƒ๊ฐํ•  ๊ฒƒ์ด๋‹ค.
2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •๋„ ๋˜‘๊ฐ™๋‹ค.

์ •์ˆ˜ ๋ถ€๋ถ„์˜ ์ œ์ผ ํฐ ๋‹จ์œ„์ธ \(2^n\) ์ด ๋ช‡๊ฐœ ํ•„์š”ํ•œ์ง€ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ \(2^{n-1}\) ์˜ ๊ฐฏ์ˆ˜, \(2^{n-2}\) ์˜ ๊ฐฏ์ˆ˜โ€ฆ ์ด๋ ‡๊ฒŒ ์ฐจ๋ก€๋Œ€๋กœ ๊ฐฏ์ˆ˜๋ฅผ ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ํ•œ์ž๋ฆฌ์”ฉ ๋‚ด๋ ค์˜ฌ ์ˆ˜๋ก ๋‚˜๋ˆ„๊ธฐ 2๋ฅผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

์ด๋ ‡๊ฒŒ ์ญ‰ ์ง„ํ–‰ํ•ด ๋‚˜๊ฐ€๋‹ค๊ฐ€ 0์ดํ•˜์˜ ์ˆ˜๋กœ ๋–จ์–ด์ง€๋ฉด ๊ทธ๋•Œ๋ถ€ํ„ด \(2^-1\)(10์ง„์ˆ˜๋กœ 0.5)์ด ์ œ์ผ ํฐ ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค. ์ด๋•Œ๋ถ€ํ„ด ํ•œ ์ž๋ฆฌ์”ฉ ๋‚ด๋ ค์˜ฌ ์ˆ˜๋ก \(\times 2\)๋ฅผ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

โœ๏ธ ์†Œ์ˆ˜ ๋ถ€๋ถ„์ด๋ž€ 1๋ณด๋‹ค ์ž‘์€ ์ˆ˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, 2์ง„์ˆ˜ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ \(2^0\) ์ž๋ฆฌ ์•„๋ž˜์ชฝ ์ž๋ฆฌ๋ฅผ ์˜๋ฏธํ•œ๋‹ค. (\(2^{-1}, 2^{-2}, โ€ฆ\))

์˜ˆ๋ฅผ๋“ค์–ด, 0.375๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด๋ณด์ž.

  โˆฃ  0.375 * 2 = 0.75  --> 0 (2^-1 ์˜ ์ž๋ฆฌ)
  โˆฃ  0.75 * 2  = 1.5   --> 1 (2^-2 ์˜ ์ž๋ฆฌ)
  โˆฃ  0.5 * 2   = 1.0   --> 1 (2^-3 ์˜ ์ž๋ฆฌ)
  v  0 ์ด๋ฏ€๋กœ ๊ณ„์‚ฐ ์ข…๋ฃŒ
     => 0.011(2์ง„์ˆ˜)

์†Œ์ˆซ์  ์•„๋ž˜ ์ œ์ผ ํฐ ๋‹จ์œ„์ธ \(2^-1\) ์ด 0๊ฐœ, ๊ทธ ๋‹ค์Œ ๋‹จ์œ„์ธ \(2^{-2}\) ๊ฐ€ 1๊ฐœ, \(2^{-3}\) ์ด 1๊ฐœ๊ฐ€ ๋œ๋‹ค. \[2^{-1} \times \color{red} 0 \color{black} + 2^{-2} \times \color{red} 1 \color{black} + 2^{-3} \times \color{red} 1 \color{black} = 0.011_2\] ์ด์ œ ์†Œ์ˆ˜์ ์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ–ˆ์œผ๋‹ˆ ์ด๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ ๊นŒ?

์•„๋ž˜์˜ ์˜ˆ์‹œ๋„ ์‚ดํŽด๋ณด์ž.

    ex) 0.127  
 โˆฃ  0.127 * 2 = 0.254 --> 0
 โˆฃ  0.254 * 2 = 0.508 --> 0
 โˆฃ  0.508 * 2 = 1.016 --> 1
 โˆฃ  0.016 * 2 = 0.032 --> 0
 โˆฃ  0.032 * 2 = 0.064 --> 0
 โˆฃ  0.064 * 2 = 0.128 --> 0
 โˆฃ  0.128 * 2 = 0.256 --> 0
 โˆฃ  0.256 * 2 = 0.512 --> 0
 โˆฃ  0.512 * 2 = 1.024 --> 1
 v  0.024 * 2 = 0.048 --> 0
  ....

์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์•„๋ฌด๋ฆฌ 2๋ฅผ ๊ณฑํ•ด๋„ ์†Œ์ˆ˜์  ์•„๋ž˜๊ฐ€ 0์ด ์•ˆ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์ฆ‰, ์ˆซ์ž๋งˆ๋‹ค 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜์‹œ ์ €์žฅํ•ด์•ผํ•  ๋น„ํŠธ์˜ ๊ธธ์ด๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค.

1. ๊ณ ์ •์†Œ์ˆ˜์  ๋ฐฉ์‹(Fixed-point)

๊ณ ์ •์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ 2์ง„์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค.
\(12.375 = 1100.011_2\) ๋ฅผ 16bit ๋ฉ”๋ชจ๋ฆฌ ๊ณ ์ •์†Œ์ˆ˜์  ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•œ๋‹ค๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ์ €์žฅ๋œ๋‹ค.

์•„์ฃผ ์ง๊ด€์ ์œผ๋กœ 2์ง„์ˆ˜ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ ๊ทธ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ๋‹ค.

  • ์žฅ์ 
    • ๊ตฌํ˜„ํ•˜๊ธฐ ์‰ฝ๋‹ค.
    • ์ •์ˆ˜ํ˜• ์ž๋ฃŒํ˜•์˜ ์—ฐ์‚ฐ์€ ๋ถ€๋™์†Œ์ˆ˜์  ์ž๋ฃŒํ˜•์˜ ์—ฐ์‚ฐ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
  • ๋‹จ์ 
    • ์‚ฌ์šฉํ•˜๋Š” ๋น„ํŠธ ์ˆ˜ ๋Œ€๋น„ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์ˆ˜์˜ ๋ฒ”์œ„ ๋˜๋Š” ์ •๋ฐ€๋„๊ฐ€ ๋‚ฎ๋‹ค.
  • ์ฐจ์ด
    • ์—ฐ์‚ฐ ์ ˆ์ฐจ ์ƒ์œผ๋กœ๋Š” ๋ถ€๋™์†Œ์ˆ˜์ ์€ ๊ณฑ์…ˆ์ด ๊ฐ„ํŽธํ•˜๊ณ , ๊ณ ์ • ์†Œ์ˆ˜์ ์€ ๋ง์…ˆ/๋บ„์…ˆ์ด ๊ฐ„ํŽธํ•˜๋‹ค๋Š” ์ฐจ์ด๋ฅผ ๋ณด์ธ๋‹ค.

2. ๋ถ€๋™์†Œ์ˆ˜์  ๋ฐฉ์‹(Floating-point)

๋ถ€๋™์†Œ์ˆ˜์  ๋ฐฉ์‹์€ ์ˆ˜๋ฅผ \((๊ฐ€์ˆ˜) \times (๋ฐ‘์ˆ˜)^{(์ง€์ˆ˜)}\) ์™€ ๊ฐ™์ด ๊ณฑ์…ˆ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 12.375 ์˜ ๊ฒฝ์šฐ ์†Œ์ˆ˜์  ์œ— ๋ถ€๋ถ„์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด \((12.)_{10} = (1100)_{2}\) ์ด๊ณ , ์†Œ์ˆ˜์  ์•„๋ž˜ ๋ถ€๋ถ„์„ ๋ณ€ํ™˜ํ•˜๋ฉด \((.375)_{10} = (0.011)_2\) ์ด ๋œ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
  // ์ •์ˆ˜๋ถ€
  12
  = 1100
  
  // ์†Œ์ˆ˜๋ถ€
  0.375
  = 0.375 * 2 = 0.75 -> 0
  = 0.75 * 2 = 1.5 -> 1
  = 0.5 * 2 = 1.0 -> 1
  
  // ๊ฒฐ๊ณผ
  12.375
  = 1100.011(2)

๊ทธ ํ›„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ธ ๋ถ€๋ถ„์˜ ๊ฐ’์œผ๋กœ ์‹ค์ˆ˜๋ฅผ ์ €์žฅํ•œ๋‹ค.

  • ๋ถ€ํ˜ธ๋ถ€ (1๋น„ํŠธ) : ์–‘์ˆ˜์ผ ๋•Œ๋Š” 0, ์Œ์ˆ˜์ผ ๋•Œ๋Š” 1
  • ์ง€์ˆ˜๋ถ€ (๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š” ์ •์ˆ˜, 8๋น„ํŠธ) : 8๋น„ํŠธ๋กœ ํ‘œ์‹œ
  • ์ •๊ทœํ™”๋œ ๊ฐ€์ˆ˜๋ถ€ (๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š” ์ •์ˆ˜, 23๋น„ํŠธ) : ์ œ์ผ ์•ž์˜ ๋น„ํŠธ๋Š” ์ •๊ทœํ™”๋˜์—ˆ์œผ๋ฏ€๋กœ 1์ด๋‹ค.

์ •๊ทœํ™”

๋จผ์ € ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งํ•˜๋Š” ์ •๊ทœํ™”๋ž€

1
  1.xxxx...* 2^n

์˜ ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ •์ˆ˜๋ถ€์— 1์ด ๋‚จ์„๋•Œ ๊นŒ์ง€ ์†Œ์ˆ˜์ ์„ ์ด๋™์‹œ์ผœ ๋งŒ๋“ ๋‹ค.

1
  1100.011 -> 1.100011 * 2^3

์œ„ ์ •๊ทœํ™”๋œ ๊ฐ€์ˆ˜๋ถ€ ์ €์žฅ ๋ฐฉ์‹๋Œ€๋กœ ๊ฐ€์ˆ˜๋ถ€์— ๊ทธ๋Œ€๋กœ ์ €์žฅํ•œ๋‹ค. ๋‚จ์€ ๋ถ€๋ถ„์€ 0์œผ๋กœ ์ฑ„์šด๋‹ค.

์ง€์ˆ˜๋ถ€ ์ €์žฅ

์ง€์ˆ˜๋ถ€ 3์„ IEEE 754 ์— ๋”ฐ๋ผ์„œ ๋ณ€๊ฒฝํ•œ๋‹ค.
32bit ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ง€์ˆ˜๋ถ€ ์˜์—ญ์˜ ๋น„ํŠธ ์ˆ˜๋Š” 8bit ์ด๋ฏ€๋กœ bias ๊ฐ’์€ 127์ด๋œ๋‹ค. bias ๊ฐ’์„ ๋”ํ•˜๋Š” ์ด์œ ๋Š” ์ง€์ˆ˜๊ฐ€ ์Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

1
  0.000101(2) -> 1.01 * 2^-4

์ด์™€ ๊ฐ™์ด ์ง€์ˆ˜๊ฐ€ ์Œ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์—๋„ 8bit ์˜์—ญ์œผ๋กœ ํ‘œ์‹œ๊ฐ€ ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. ์ด์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋กœ 8bit ์˜์—ญ์„ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ  ์Œ์ˆ˜์™€ ์–‘์ˆ˜๋กœ ํ‘œํ˜„ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 10์ง„์ˆ˜ ๊ธฐ์ค€์œผ๋กœ 0~127 ๊ตฌ๊ฐ„์„ ์Œ์ˆ˜๋กœ, 128~255 ๊ตฌ๊ฐ„์€ ์–‘์ˆ˜๋ฅผ ํ‘œํ˜„ํ•˜๊ฒŒ ํ•œ๋‹ค. \(K(bias) = 2^{(8-1)} - 1 = 2^7 - 1 = 127\) ์„ ์ง€์ˆ˜์— ๋”ํ•ด 130์œผ๋กœ ๋งŒ๋“  ํ›„ 130์„ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•ด ์ง€์ˆ˜๋ถ€์— ์ €์žฅํ•œ๋‹ค.

1
2
  130
  = 1000 0010(2)

์ตœ์ข…์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ €์žฅ๋œ๋‹ค. \(12.375 = 1100.011_2\)

์ •ํ™•๋„

์ด๋ ‡๊ฒŒ ๋ถ€๋™์†Œ์ˆ˜์ ์„ ์‚ฌ์šฉํ–ˆ์Œ์—๋„ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ์†Œ์ˆ˜ ๋ถ€๋ถ„์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ ๊ทธ ๊ธธ์ด๋ฅผ ๋ฏธ๋ฆฌ ์•Œ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, 32bit ์˜ ๊ฒฝ์šฐ(๋‹จ์ •๋ฐ€๋„) 23bit ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ€์ˆ˜๋ถ€ ์˜์—ญ์ด ์žˆ์ง€๋งŒ ์†Œ์ˆ˜ ๋ถ€๋ถ„์˜ ๊ฐ€์ˆ˜๋ถ€๊ฐ€ ๊ทธ ์˜์—ญ์„ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿด ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด 64bit(๋ฐฐ์ •๋ฐ€๋„) ์ฒด๊ณ„๋ฅผ ์ง€์›ํ•œ๋‹ค. 64bit(๋ฐฐ์ •๋ฐ€๋„)

64bit(๋ฐฐ์ •๋ฐ€๋„) ์—์„œ๋Š” ์ง€์ˆ˜๋ถ€๊ฐ€ 11bit ์ด๊ณ , ๊ฐ€์ˆ˜๋ถ€๊ฐ€ 52bit ๋กœ 32bit(๋‹จ์ •๋ฐ€๋„)์— ๋น„ํ•ด ๋„‰๋„‰ํ•˜๋‹ค.

  • ๋ถ€ํ˜ธ๋ถ€ (1๋น„ํŠธ) : ์–‘์ˆ˜์ผ ๋•Œ๋Š” 0, ์Œ์ˆ˜์ผ ๋•Œ๋Š” 1
  • ์ง€์ˆ˜๋ถ€ (๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š” ์ •์ˆ˜, 11๋น„ํŠธ) : 11๋น„ํŠธ๋กœ ํ‘œ์‹œ
  • ์ •๊ทœํ™”๋œ ๊ฐ€์ˆ˜๋ถ€ (๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š” ์ •์ˆ˜, 52๋น„ํŠธ) : ์ œ์ผ ์•ž์˜ ๋น„ํŠธ๋Š” ์ •๊ทœํ™”๋˜์—ˆ์œผ๋ฏ€๋กœ 1์ด๋‹ค.
  • \(K(bias) = 2^{11-1} - 1 = 1024 - 1 = 1023\)
  • 0~1023 : ์Œ์ˆ˜, 1024~2047: ์–‘์ˆ˜

์ •๋ฆฌ

java ์—์„œ๋Š” ๋ถ€๋™์†Œ์ˆ˜์  ์ €์žฅ ํ˜•์‹์œผ๋กœ float(32bit) ์™€ double(64bit) ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ์ •๋ฐ€ํ•˜๊ฒŒ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

์–ด๋–ค ์ˆ˜์˜ ์ž๋ฆฟ์ˆ˜(์œ ํšจ์ˆซ์ž)๊ฐ€ 7์ž๋ฆฌ ์ดํ•˜์ธ ๊ฒฝ์šฐ์—” ๋†’์€ ํ™•๋ฅ ๋กœ float(32bit) ์— ์ €์žฅ๋  ์ˆ˜ ์žˆ๊ณ , 15์ž๋ฆฌ ์ด์ƒ์ธ ๊ฒฝ์šฐ double(64bit) ์— ์ €์žฅํ•ด์•ผ ๊ทธ๋‚˜๋งˆ ์ •ํ™•ํ•œ ์ˆซ์ž๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

reference

๋ฐฉ๋ฌธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋Œ“๊ธ€,์ง€์ ,ํ”ผ๋“œ๋ฐฑ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜Š

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ