๐Ÿ”ขNumber.MAX_SAFE_INTEGER

๐Ÿšง under construction

JS โŸฉ value โŸฉ primitive โŸฉ number โŸฉ special โŸฉ Number.MAX_SAFE_INTEGER

JS ๅฏไปฅ่กจ็คบ็š„ๆ•ธๅญ— (representable numbers) ่ˆ‡ๆ•ธๅญ—ไน‹้–“็š„้–“้š”ๆœƒๆ นๆ“šไธๅŒ็š„ๅ€้–“่€Œๆœ‰ๆ‰€ๅ€ๅˆฅ๏ผšๅœจ 2โฐ ~ 2ยน ไน‹้–“๏ผŒๆ•ธๅญ—็š„้–“้š”ๆ˜ฏ 2ยฏโตยฒใ€ๅœจ 2ยน ~ 2ยฒ ไน‹้–“๏ผŒๆ•ธๅญ—็š„้–“้š”ๆ˜ฏ 2ยฏโตยน๏ผŒไปฅๆญค้กžๆŽจ๏ผŒๆฏๅขžๅŠ ไธ€ๅ€‹ๆ•ธ้‡็ดš๏ผŒๆ•ธๅญ—ไน‹้–“็š„้–“้š”ๅฐฑๆœƒไน˜ไปฅ 2 ๅ€๏ผŒๅˆฐไบ† 2โตยฒ ~ 2โตยณ ไน‹้–“๏ผŒๆ•ธๅญ—็š„้–“้š”ๆ˜ฏ 2โฐ = 1๏ผŒๆ›ๅฅ่ฉฑ่ชช๏ผŒๅˆฐไบ†้€™ๅ€‹ๅ€้–“ไปฅไธŠ๏ผŒๅชๅ‰ฉไธ‹ๆ•ดๆ•ธๅฏไปฅ่กจ็คบใ€‚

ๅˆฐไบ† 2โตยณ ~ 2โตโด ไน‹้–“๏ผŒๆ•ธๅญ—็š„้–“้š”ๆ˜ฏ 2ยน = 2๏ผŒๆ›ๅฅ่ฉฑ่ชช๏ผŒ้€ฃๆ•ดๆ•ธ้ƒฝ้–‹ๅง‹็„กๆณ•ๅฎŒๆ•ด่กจ็คบ๏ผŒ้–‹ๅง‹ๆœ‰ใ€Œๆผๆดžใ€๏ผŒ้€™ๅฐฑๆ˜ฏ็‚บไป€้บผ Number.MAX_SAFE_INTEGER = 2โตยณ - 1 = 9007199254740991 ็š„้“็†ไบ†ใ€‚

    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ”‚ Number.MAX_SAFE_INTEGER โ”‚
    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

       2โตยน                                                2โฐ
   2โตยฒโ†ดโ†“                                                  โ†“
    = 11111111111111111111111111111111111111111111111111111
       โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ 52-bit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
    = 2โตยณ - 1
    = 9007199254740991

ๆ€ช็•ฐ็š„้€ฒไฝ่กŒ็‚บ

const N = Number.MAX_SAFE_INTEGER;        // 2โตยณ - 1

// ้›–็„ถๆˆ‘ๅ€‘็Ÿฅ้“ 2โตยณ ~ 2โตโด ไน‹้–“๏ผŒๆ•ธๅญ—็š„้–“้š”ๆ˜ฏ 2ยน = 2๏ผŒไนŸๅฐฑๆ˜ฏ้ƒฝๆ˜ฏใ€Œๅถๆ•ธใ€
// ไฝ†ๅถๆ•ธ็š„ใ€Œ่ทณๆณ•ใ€ๅป้ —็‚บๆ€ช็•ฐ๏ผš
N,      // 9007199254740991
N + 1,  // 9007199254740992
N + 2,  // 9007199254740992
N + 3,  // 9007199254740994
N + 4,  // 9007199254740996
N + 5,  // 9007199254740996
N + 6,  // 9007199254740996
N + 7,  // 9007199254740998
N + 8,  // 9007199254741000

้›–็„ถไธฆไธไบ†่งฃ IEEE 754 ่ƒŒๅพŒ้‹ไฝœ็š„ๅŽŸ็†๏ผŒไฝ†ไธ‹้ขๆˆ‘ๅ€‘่ฉฆ่‘—ใ€Œ็Œœๆธฌใ€ๅฎƒๆ˜ฏๆ€Ž้บผ้‹ไฝœ็š„๏ผš

let N = Number.MAX_SAFE_INTEGER = 9007199254740991

	N + 1 = 9007199254740992

	 โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	11111111111111111111111111111111111111111111111111111
     +                                                      1
  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
       100000000000000000000000000000000000000000000000000000
	โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ


	 N + 2 = 9007199254740992                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
     +                                                      10
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000001 (01 ๆจๆฃ„ 1๏ผŸ)
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 3 = 9007199254740994                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
     +                                                      11
    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000010
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 4 = 9007199254740996                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
     +                                                     100
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000011 (11 ้€ฒไฝ๏ผŸ)
      = 10000000000000000000000000000000000000000000000000010
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 5 = 9007199254740996                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
      +                                                    101
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000100
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 6 = 9007199254740996                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
      +                                                    110
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000101 (01 ๆจๆฃ„ 1๏ผŸ)
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 7 = 9007199254740998                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
      +                                                    111
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000110
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
	 

	 N + 8 = 9007199254741000                           2ยน
                                                            โ‡ฉ
	  โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
	 11111111111111111111111111111111111111111111111111111
      +                                                   1000
   โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
        100000000000000000000000000000000000000000000000000111 (11 ้€ฒไฝ๏ผŸ)
      = 10000000000000000000000000000000000000000000000000100
	 โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ˜† 52-digit โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

Last updated