AJ9*_*J95 4 c++ variables types range
如果我有两个无符号长long值表示pow(10,18)和pow(10,19)并且我将它们相乘并将输出存储在另一个unsigned long long类型的变量中......我们得到的值显然不是回答,但它有任何逻辑吗?每次我们尝试使用任意大数字时,我们会得到一个垃圾类型的值,但是输出是否具有输入值的任何逻辑?
Ker*_* SB 10
C++中的无符号整数类型遵循模运算的规则,即它们表示模2 N的整数,其中N是整数类型的值位数(可能小于其sizeof时间CHAR_BIT); 具体而言,该类型保存值[0,2 N).
sizeof
CHAR_BIT
所以,当你两个数相乘,结果是数学计算结果除以2的余ñ.
数字N可通过编程方式获得std::numeric_limits<T>::digits.
std::numeric_limits<T>::digits
归档时间:
11 年,10 月 前
查看次数:
292 次
最近记录:
9 年,11 月 前