๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœจ Algorithm/๐Ÿ•‍๐Ÿฆบ ๋ฐ”ํ‚น๋… ๊ฐœ๋…

[0x01] ๊ธฐ์ดˆ ์ฝ”๋“œ ์ž‘์„ฑ ์š”๋ น 1

by nitronium102 2023. 6. 20.

๊ณต๊ฐ„๋ณต์žก๋„

  • 512 MB = 1.2์–ต๊ฐœ int ( 1 int = 4B) ⇒ ์ด๋ ‡๊ฒŒ ํ’€์ด๋˜๋ฉด ํ‹€๋ฆฐ ๊ฒƒ!

์ •์ˆ˜ ์ž๋ฃŒํ˜•

  • char (1 byte) : 2^7 - 1(127)
  • short (2 byte) : 2^15 - 1(32767)
  • int (4 byte) : 2^31 - 1 = 2.1 * 10^9 (21์–ต)
  • long long (8 byte) : 2^63 - 1 = 9.2 * 10^18

์‹ค์ˆ˜ ์ž๋ฃŒํ˜•

2์˜ ์Œ์ˆ˜ ์Šน์„ ์ด์šฉํ•ด ์ด์ง„์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Œ

  • float (4byte)
  • double (8byte)
  1. ์‹ค์ˆ˜์˜ ์ €์žฅ/์—ฐ์‚ฐ ๊ณผ์ •์—์„œ ๋ฐ˜๋“œ์‹œ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋ฐ–์— ์—†๋‹คfraction field์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์œ ํ•œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌดํ•œ์†Œ์ˆ˜๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์—†๊ณ  ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ๋ฐ˜์˜ฌ๋ฆผํ•ด์•ผ ํ•จ
    • float : ์œ ํšจ์ˆซ์ž 6์ž๋ฆฌ
    • double : ์œ ํšจ์ˆซ์ž 15์ž๋ฆฌ
  2. ๋ฌธ์ œ : ์ ˆ๋Œ€/์ƒ๋Œ€ ์˜ค์ฐจ๋Š” 10^-6๊นŒ์ง€ ํ—ˆ์šฉํ•œ๋‹ค ๋“ฑ
  3. double์— long long ๋ฒ”์œ„์˜ ์ •์ˆ˜๋ฅผ ํ•จ๋ถ€๋กœ ๋‹ด์„ ์ˆ˜ ์—†๋‹ค
    • long long์€ 19์ž๋ฆฌ๊นŒ์ง€์ด๊ธฐ ๋•Œ๋ฌธ
  4. ์‹ค์ˆ˜๋ฅผ ๋น„๊ตํ•  ๋•Œ๋Š” ๋“ฑํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋œ๋‹ค
    • 0.1+0.1+0.1 ≠ 0.3

๋Œ“๊ธ€