c语言整形变量 如何改变变量存储的数值上限

c语言整形变量 如何改变变量存储的数值上限,第1张

在声明变量的时候,就已经确定了数据占内存的字节数。比如说在vc6.0的编译器,int是四个字节,float是4个字节,doble是8个字节。是无法让变量的数值超过默认的。

像17阶乘这种大整数,在科学计算机是可以解决的。不过个人机貌似处理不了那么多位数的计算。32位机最大只能运算到2^32。64位机就不懂了,因为我使用的还是32位以前的软件,不知道vs2013环境下能不能运行到2^64。

你可以通过数组来构建一个大整数系统,我们当初有个课设就是通过数组来完成一个大整数系统。

二进制值加上超过最大值的部分之后取变量范围部分值转换为变量类型数据就可以得到结果了

比如short型变量a,最大值为32767,二进制代码为0111111111111111,将其赋值为32768则相当于其值加一,对应二进制代码为1000000000000000,对应为short型的-32768

这说明你的机器字长是32位的,其中有一位是符号位,7位是阶码,剩下的24位是有效数字,而24位最大为FFFFFF,即2^24=16777216,即从0-16777215,所以16777215是最大的有效数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11569740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存