Skip to content

๐Ÿ ื”ืื ื™ืฉ ืœึพint ื‘ืคื™ื™ืชื•ืŸ ืžื’ื‘ืœื•ืช ื’ื•ื“ืœ?

ื‘ืคื™ื™ืชื•ืŸ, ื˜ื™ืคื•ืก int ืื™ื ื• ืžื•ื’ื‘ืœ ื‘ื’ื•ื“ืœ ืงื‘ื•ืข, ืžืื—ืจ ืฉื”ื•ื ืžืื•ื—ืกืŸ ื‘ืžื‘ื ื” ื“ื™ื ืืžื™ โ€“ ื“ื‘ืจ ืฉืžืืคืฉืจ ืœืขื‘ื•ื“ ืขื ืžืกืคืจื™ื ื’ื“ื•ืœื™ื ืžืื•ื“ ืœืœื ืกื›ื ืช ื’ืœื™ืฉื” (overflow).

ื‘ื ื™ื’ื•ื“ ืœืจื•ื‘ ืฉืคื•ืช ื”ืชื›ื ื•ืช, ืฉื‘ื”ืŸ ื˜ื™ืคื•ืก int ื”ื•ื ื‘ื’ื•ื“ืœ ืงื‘ื•ืข (ืœืžืฉืœ int32 ืื• int64), ื‘ืคื™ื™ืชื•ืŸ ื”ืžืกืคืจื™ื ื”ืฉืœืžื™ื (int) ื™ื›ื•ืœื™ื ืœื’ื“ื•ืœ ื“ื™ื ืืžื™ืช ืœืคื™ ื”ืฆื•ืจืš.

ื‘ืฉืคื•ืช ื›ืžื• C, Java ื•ืื—ืจื•ืช, ื”ื’ื•ื“ืœ ืฉืœ int ืžื•ื’ื‘ืœ ืœืคื™ ืžืกืคืจ ื”ื‘ื™ื˜ื™ื:

โ–ถ๏ธ int32 โ†’ ื‘ื™ืŸ โ€Ž-2ยณยนโ€Ž ืœื‘ื™ืŸ โ€Ž2ยณยน – 1โ€Ž
โ–ถ๏ธ int64 โ†’ ื‘ื™ืŸ โ€Ž-2โถยณโ€Ž ืœื‘ื™ืŸ โ€Ž2โถยณ – 1โ€Ž

ืœืขื•ืžืช ื–ืืช, ื‘ืคื™ื™ืชื•ืŸ int ื’ื“ืœ ืื•ื˜ื•ืžื˜ื™ืช โ€“ ื”ื•ื ืžืžื•ืžืฉ ืœืžืขืฉื” ื›ึพBigInteger ื•ืžืฉืชืžืฉ ื‘ืžื‘ื ื” ืฉืœ ืžืงื˜ืขื™ื ื‘ื’ื•ื“ืœ 32 ืื• 64 ื‘ื™ื˜ื™ื ื›ื“ื™ ืœืฉืžื•ืจ ืืช ื”ืžืกืคืจ.

x = 2**1000
print(x)

ื”ืžืกืคืจ โ€Ž2ยนโฐโฐโฐโ€Ž ื’ื“ื•ืœ ื‘ื”ืจื‘ื” ืžื”ื’ื‘ื•ืœื•ืช ืฉืœ โ€Žint64โ€Ž, ืืš ืคื™ื™ืชื•ืŸ ืžื˜ืคืœ ื‘ื• ื‘ืœื™ ื‘ืขื™ื”.

โ–ถ๏ธ ื›ืืฉืจ ื”ืžืกืคืจ ืงื˜ืŸ, ืคื™ื™ืชื•ืŸ ืฉื•ืžืจ ืื•ืชื• ื›ืขืจืš ืจื’ื™ืœ ืฉืœ 32 ืื• 64 ื‘ื™ื˜ (ื‘ื”ืชืื ืœืคืœื˜ืคื•ืจืžื”)

โ–ถ๏ธ ื›ืืฉืจ ื”ืžืกืคืจ ื’ื“ืœ ืžืขื‘ืจ ืœื›ืš, ืคื™ื™ืชื•ืŸ ืขื•ื‘ืจ ืื•ื˜ื•ืžื˜ื™ืช ืœืžื‘ื ื” ืฉืœ ืžืขืจืš ื‘ืชื™ื (bytes), ื•ืžื’ื“ื™ืœ ืื•ืชื• ื“ื™ื ืืžื™ืช ืœืคื™ ื”ืฆื•ืจืš


ื›ืชื™ื‘ืช ืชื’ื•ื‘ื”

ื”ืื™ืžื™ื™ืœ ืœื ื™ื•ืฆื’ ื‘ืืชืจ. ืฉื“ื•ืช ื”ื—ื•ื‘ื” ืžืกื•ืžื ื™ื *