问题描述
- C如何打印一个超过int范围值的数?
-
就比如int i = 100000000000000000;
如何打印出来?
解决方案
超出了范围,你都不能赋值了,还考虑打印。
C,只是语言,int 能存多大的数值要看使用它的平台。例如:Dos 时 int 是两个字节,但 Windows 平台下就是 4 个字节的。明显可存贮的数值大了很多。
在 Windows 平台下还有很多更大的数值类型,如:LONGLONG,64位整数分别叫做__int64与unsigned __int64,范围为 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807),存储空间占 8 字节。
解决方案二:
那你不能用long类型的吗?
如果回答对您有帮助,请采纳
解决方案三:
这个是不能直接以整型形式打印的,把这个数当成字符串,或者把每一位当成数组的一个元素,逐个打印。
printf("1000000000000000");
解决方案四:
直接转换成字符串不就可以正常打印了么?
解决方案五:
三种方法吧。
一,使用长整型 long int 来赋值,那么可以直接输出。
二,使用数组来逐位输出。
三,使用字符串型来输出。
解决方案六:
结构体内可以将内存分的很小,定义一个结构体,里面用变量代替数据的低位和高位,这点可以判断数据储存是大端还是小端,我记得结构体内可以操作到比特位的,不好意思,主要是时间有点长遗忘了,
时间: 2025-01-24 11:28:25