两种类型
double范围比decimal大,精度比之低
类型 | 大致范围 | 精度 | .NET Framework 类型 |
---|
double | ±5.0 × 10−324 到 ±1.7 × 10308 | 15 到 16 位 |
decimal | (-7.9 x 1028 - 7.9 x 1028) / (100 - 28) | 28 到 29 位有效位 |
如果计算 2^64 次方
结果值是 18446744073709551616 这个数长度是20位,超过了double的15位精度了 如果用double表示, 则会表示为 18446744073709600000 最后五位变成0,并且向前进一位.
如果用decimal表示,没有超出精度范围.18446744073709551616M=18446744073709551616 ;
如果计算2^100次方 结果是31位数
2^100 = 1267650600228229401496703205376
则超出了这两种能表示的精度范围
-----------------------------------------------------------------------------------------------------------------
最小量子 bit
B(字节) = 8bit
K=2^10 B
M=2^10 K
G=2^10 M
T=2^10 G
P=2^10 T
E=2^10 P
Z=2^10 E
Y=2^10 Z