2^1024是否可以用内置浮点类型表示,例如双倍或长双?
发布于 2018-06-19 14:39:55
2^1024大于IEEE在64位机器上表示的最大浮点值。
2^1024 =
17976931348623159077293051907890247336179769789423065727343008115773267580550096313270847
73224075360211201138798713933576587897688144166224928474306394741243777678934248654852763
02219601246094119453082952085005768838150682342462881473913110540827237163350510684586298
239947245938479716304835356329624224137216 最大IEEE浮点,约1.7977*10^308 =
0 11111111110 1111111111111111111111111111111111111111111111111111(b) =
17976931348623157081452742373170435679807056752584499659891747680315726078002853876058955
86327668781715404589535143824642343213268894641827684675467035375169860499105765512820762
45490090389328944075868508455133942304583236903222948165808559332123348274797826204144723
168738177180919299881250404026184124858368这些数字的差异是:
19958403095347198116563727130368385660674512604354575415025472424372118918689640657849579
65492635701089342446844192495243972437988393593660739171798284831420320005672951085676517
53772144436298718265335674454392399333081045512087038888885526844804415750712090687575604
16423584952303440099278848这是IEEE的最大数目,因为64位是按以下方式分解的:
1 - sign
11 - exponent
52 - mantissa, or value对于双精度型,指数偏差为1023。注意: 11111111110(b) = 2046(d)。2046-1023= 1023。这仅仅是你需要存储2^1024的1024,以及2^1023工作正常的原因。
https://stackoverflow.com/questions/50930688
复制相似问题