用C为什么不可以直接定义20位加减乘除

来源:百度知道 编辑:UC知道 时间:2024/05/12 17:10:38
用C为什么不可以直接定义20位加减乘除
导致输出结果错误的直接因素在哪里
用unsigned long long在用PRINTF和SCANF时要用什么格式转换符

c语言中双字节的长度为16位的,也就是说long 型的才是16位,怎么进行20位的加减乘除。

c是可以定20位加减乘除运算的,就是更多也是支持的,最多支持多少位不清楚,那要看你机子的性能了。我想应该上几十万位不成问题吧!出错那可能是你编写不当造成的,式子越多就越容易出错。运算的顺序结合方向就越难把握。看看是不是你想的和编写的是否一致.
理解有误刚刚看到其他人的回答修改一下,如果你是20位数的数字做加减乘除运算的话应该修改他的数据类型为float但有损精度。他的表数范围为-3.4*E-38到3.4*E38

一般32位机 int 四字节
long 四字节
也就是最大可以处理2的32次方 为4294967296-1
并且是无符号的才可以处理这么多
如果你要处理20位的 可以用unsigned long long这种数据类型 最大处理18446744073709551616