美文网首页
int类型究竟占几个字节

int类型究竟占几个字节

作者: 夏天的雪花雨 | 来源:发表于2017-12-06 20:04 被阅读0次

最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C Programming language这本书,里面有一句话是这样的:Each compiler is free to choose appropriate sizes for its own hardware, subject only to the restriction that shorts and ints are at least 16bits, longs are at least 32bits, and short is no longer than int, which is no longer than long.意思大致是编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节(例如,GCC)。下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:

需要说明一下的是指针类型存储的是所指向变量的地址,所以32位机器只需要32bit,而64位机器需要64bit。

以上文章来自:http://charlesxie.blog.51cto.com/2236179/939680由于写的太好了,所就直接摘了下来!

补充总结:

经过询问,网上查找以及测试,发现数据类型占内存的位数实际上与操作系统的位数和编译器(不同编译器支持的位数可能有所不同)都有关,具体某种数据类型占字节数得编译器根据操作系统位数两者之间进行协调好后分配内存大小。具体在使用的时候如想知道具体占内存的位数通过sizeof(int)可以得到准确的答案。

相关文章

  • int类型究竟占几个字节

    最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C...

  • int 类型究竟占几个字节

    数据类型占内存的位数,实际上与 操作系统的位数 和 编译器(不同编译器支持的位数可能有所不同)都有关。具体某种数据...

  • 指针

    char类型占1字节int 类型占4字节long 类型占4字节double 类型占8字节long long 类型占8字节

  • 转:int类型究竟占几个字节

    最近在看深入理解计算机系统这本书,上面提到了在32位机器和64机器中int类型都占用4个字节。后来,查了The C...

  • int类型占几个字节?

    昨天晚上下班回家,一民警迎面巡逻而来。突然对我大喊:站住! 民警:int类型占几个字节? 我:4个。 民警:你可以...

  • 有符号的原码、反码、补码详解

    有符号数 signed %d 符号位+数值位(例如:int i = +7;) int 类型占4个字节,1个字节占8...

  • java,android面试题

    一 JAVA相关 1)JAVA基础 java基本数据类型有哪些,int, long占几个字节基本数据类型包含:数值...

  • java中int 数据类型的占多少个字节

    Java中有8中基本数据类型,int占4个字节,32位Boolean 占1个字节,1位

  • 数据类型简介

    一.整型类型介绍 四种整型:  short int: 短整型, 占16位, mac 上占 2 字节, iOS 上占...

  • C sizeof 运算符

    在C/C++ 中,sizeof 运算符是计算变量或数据类型的大小的。通常int类型占4个字节,char占1个字节。...

网友评论

      本文标题:int类型究竟占几个字节

      本文链接:https://www.haomeiwen.com/subject/tjwlixtx.html