1.1 + 0.1 == 1.2
< false

๐Ÿ“• ๊ฐœ๋ฐœ๋ฉด์ ‘ ๊ด€๋ จ ๊ณต๋ถ€

์œ„ ์ˆ˜์‹์ด ํ‹€๋ฆฐ ์ด์œ ๋Š”??

1.1 + 0.1 > 1.2
< true




๐Ÿ“– 1. Ram

  • 0๊ณผ 1์„ ๋งŽ์ด ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ

๐Ÿ“Œ ์ˆซ์ž๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์นธ์ด 8๊ฐœ์ธ ๊ฒฝ์šฐ (2์ง„๋ฒ•์œผ๋กœ ์ €์žฅ)

  • ์ˆซ์ž 5์ธ ๊ฒฝ์šฐ

  • ์ˆซ์ž 8์ธ ๊ฒฝ์šฐ

  • ์ˆซ์ž 10์ธ ๊ฒฝ์šฐ

  • ๋” ํฐ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ
    16์นธ์œผ๋กœ ๋Š˜๋ ค์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.




๐Ÿ“– 2. ์†Œ์ˆ˜ ์ €์žฅ

5.125๊ฐ™์€ ์†Œ์ˆ˜ ์ €์žฅ์€?
5.125 => 101.001(2์ง„์ˆ˜)
(์ด๊ฑฐ๋ง๊ณ  IEEE๋ผ๋Š” ๊ณณ์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค)

5.125 ์ €์žฅํ•˜๋ ค๋ฉด 32์นธ ์ •๋„์˜ ์—ฌ์œ ์žˆ๋Š” ์นธ์„ ๋งŒ๋“ค์–ด๋‘๊ณ 

๐Ÿ“Œ ์ฒซ๋ฒˆ์งธ์นธ์—๋Š” ์ˆซ์ž์˜ ๋ถ€ํ˜ธ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค.

  • ์–‘์ˆ˜์ธ์ง€ ์Œ์ˆ˜์ธ์ง€ ์—ฌ๋ถ€ ํ™•์ธ

  • ์–‘์ˆ˜๋ผ๋ฉด 0, ์Œ์ˆ˜๋ผ๋ฉด 1์„ ๊ธฐ์ž…ํ•ด์ค€๋‹ค.

  • ์ €์žฅํ•  ์ˆซ์ž๋ฅผ 2์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜์„ ํ•œ ๋‹ค์Œ์— . ์ฐ์€ ๋ถ€๋ถ„์„ ์™ผ์ชฝ์œผ๋กœ ๋๊นŒ์ง€ ์ด๋™์„ ํ•ด์ค€๋‹ค.
    - 5.125 => 101.001 => 1.01001 x 22
    - 1.011001 x 22 (5.125 2์ง„์ˆ˜ ๋ฒ„์ „)

  • 1.01001 ์—ฌ๊ธฐ์—์„œ . ๋’ค์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„ 01001์„ mantissa๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.


๐Ÿ“Œ matissa๋ž€?

  • ๋ถ€๋™์†Œ์ˆ˜์  ๋ฐฉ์‹์—์„œ ๊ฐ€์ˆ˜๋ถ€๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, 23๋น„ํŠธ, ๊ฐ€์ˆ˜ ๋˜๋Š” ์œ ํšจ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

  • ๋งจ๋’ค์— 23์นธ์— ๋ฐ€์–ด๋„ฃ๋Š”๋‹ค.

  • ์ง€์ˆ˜ ๋ถ€๊ทผ์— 2 + 127 => 10000001 (2์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์•ž์— 8์นธ์— ๋„ฃ์–ด์ค€๋‹ค)


๐Ÿ“Œ ์ˆœํ™˜์†Œ์ˆ˜ ๋ฌธ์ œ

  • 10์ง„์ˆ˜ 0.125 ์ˆซ์ž ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ์‹œ 0.001 ์ด๋ผ๋Š” ์ˆซ์ž๋กœ ๊น”๋”ํ•˜๊ฒŒ ๋ณ€ํ™˜์ด ๋œ๋‹ค.

  • ํ•˜์ง€๋งŒ, 0.1 ๊ฐ™์€ ์• ๋งคํ•œ ์ˆซ์ž๋Š” 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•  ๊ฒฝ์šฐ ๋ฌดํ•œ 1100 ํŒจํ„ด์ด ๋ฐ˜๋ณต๋œ๋‹ค.

๐Ÿ“• ํ•ด๊ฒฐ๋ฐฉ๋ฒ•

  • 0.1 ๊ฐ™์ด ๋ฌดํ•œ ํŒจํ„ด์ด ๋ฐ˜๋ณต๋˜๋Š” ์ˆซ์ž์˜ ๊ฒฝ์šฐ 32์นธ๊นŒ์ง€๋งŒ ํ‘œ์‹œํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

  • 32์นธ์— ๋„ฃ์€ ์ˆซ์ž์™ธ์— ํ‘œ์‹œํ•ด์ฃผ์ง€ ์•Š์€ ์ˆซ์ž์— ๋Œ€ํ•ด ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ค๊ฐ€ 0.1 ๊ฐ™์€ ์ˆซ์ž๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ–ˆ๋‹ค๊ณ  ํ•ด๋„ ์ •ํ™•ํ•œ ์ˆซ์ž 0.1๋ฅผ ์ €์žฅํ•œ๊ฒŒ ์•„๋‹ˆ๋‹ค. 0.1๊ณผ ๋น„์Šทํ•œ ์ˆซ์ž๋ฅผ ์ €์žฅํ–ˆ์„ ๋ฟ์ด๋‹ค.

  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— 0.1๊ณผ 1.1 ์„ ๋”ํ–ˆ์„ ๋•Œ ๋‚˜์˜ค๋Š” ์ˆซ์ž๊ฐ€ 1.2๊ฐ€ ์•„๋‹ˆ๋‹ค.

์ •ํ™•ํžˆ ๊ณ„์‚ฐํ•˜๋ ค๋ฉด ์ˆซ์ž๋Š” ์ •์ˆ˜๋กœ ๋ณด๊ด€ํ•ด์•ผํ•œ๋‹ค.

  • ์˜ˆ๋ฅผ ๋“ค๋ฉด, 5.1 ๋‹ฌ๋Ÿฌ์ธ ๊ฒฝ์šฐ๋Š” 5100์„ผํŠธ๋กœ x100์„ ๊ณฑํ•ด์„œ ์ €์žฅํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค.

  • float๋ฅผ ๊ตณ์ด ์จ์•ผํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐ˜์˜ฌ๋ฆผ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ด๊ฒฐ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์•„๋‹ˆ๋ฉด double ์ž๋ฃŒํ˜•์œผ๋กœ => ์ˆซ์ž 1๊ฐœ๋‹น 64์นธ ์‚ฌ์šฉ

    • ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ 2๋ฐฐ๋งŒํผ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ ์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ •ํ™•๋„๊ฐ€ ๋” ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ์‚ฌ์šฉ

์ถ”๊ฐ€๋กœ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ

overflow ํ˜„์ƒ

  • Not a Number
  • Infinity



Reference

https://www.youtube.com/watch?v=-GsrYvZoAdA

profile
Stay Calm

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

Powered by GraphCDN, the GraphQL CDN