数据类型声明大于已分配大小



我浏览了许多文档,但我仍然没有得到C中数据类型使用的大小,特别是,可能所有编程语言都是如此。

假设我们声明了一个像"int = "这样的变量,我们都知道数据类型"int"的大小为4字节(为了简单起见,暂时忘记arch计算机),它可以保存从-2^31到2^31 - 1的值,即[0到4,294,967,295]。

现在的问题是,每个字符或字母或数字都以8位或一个字节的形式存储,所以如果int只有4个字节作为数据类型的大小,那么如何存储像200,000这样的数字,甚至最大值4,294,967,295。

没有具体的文档解释数据类型的确切大小。

一个4字节的字符串实际上只能存储到9999的数字,如果您为减号留出空间,则只能存储999。但这是非常低效的,只在32位数据中存储大约13位的数字。

整数数据类型对于有符号数存储为二进制二进制的补码,对于无符号数存储为二进制。这将使用-2^(n-1)2^(n-1)-1存储有符号数或02^n-1存储无符号数的所有位,其中n是数字中的位数。

相关内容

  • 没有找到相关文章

最新更新