我正在做以下受此线程启发的事情:
>>> from decimal import *
>>> import math
>>> getcontext().prec = 1000
>>> Decimal(2**0.5)
Decimal('1.4142135623730951454746218587388284504413604736328125')
>>> Decimal(math.sqrt(2))
Decimal('1.4142135623730951454746218587388284504413604736328125')
>>> Decimal(2).sqrt()
Decimal('1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641572735013846230912297024924836055850737212644121497099935831413222665927505592755799950501152782060571470109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989687253396546331808829640620615258352395054745750287759961729835575220337531857011354374603408498847160386899970699004815030544027790316454247823068492936918621580578463111596668713013015618568987237235288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162075847492265722600208558446652145839889394437092659180031138824646815708263010059485870400318648034219489727829064104507263688131373985525611732204024509122770022694112757362728049573810896750401836986836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112024944134172853147810580360337107730918286931471017111168391658172688941975871658215212822951848847')
>>> 2**0.5
1.4142135623730951
为什么Decimal(2**0.5)
不是 1000 位长?