`
samuschen
  • 浏览: 403691 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

c语言数据类型对应字节数(32位,64位 int 占字节数)

 
阅读更多
一、程序运行平台
       不同的平台上对不同数据类型分配的字节数是不同的。
       个人对平台的理解是CPU+OS+Compiler,是因为:
       1、64位机器也可以装32位系统(x64装XP);
       2、32位机器上可以有16/32位的编译器(XP上有tc是16位的,其他常见的是32位的);
       3、即使是32位的编译器也可以弄出64位的integer来(int64)。
       以上这些是基于常见的wintel平台,加上我们可能很少机会接触的其它平台(其它的CPU和OS),所以个人认为所谓平台的概念是三者的组合。
       虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位的CPU+32位的OS+32位的Compiler)发挥的能量最大。
       理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。

二、常用数据类型对应字节数
       可用如sizeof(char),sizeof(char*)等得出

       32位编译器:

       char :1个字节
       char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
       short int : 2个字节
       int: 4个字节
       unsigned int : 4个字节
       float: 4个字节
       double: 8个字节
       long: 4个字节
       long long: 8个字节
       unsigned long: 4个字节

       64位编译器:

       char :1个字节
       char*(即指针变量): 8个字节
       short int : 2个字节
       int: 4个字节
       unsigned int : 4个字节
       float: 4个字节
       double: 8个字节
       long: 8个字节
       long long: 8个字节
       unsigned long: 8个字节
分享到:
评论

相关推荐

    【转】C语言常见类型占用字节数

    int类型通常占用的字节数取决于操作系统和编译器的位数,32位系统通常为4字节,64位系统则为8字节。long类型的长度至少等于int类型,但具体长度可以等于或大于int,32位系统下可能为4字节,64位系统下可能为8字节。 ...

    C语言常见类型占用字节数

    C语言是一种广泛使用的编程语言,它的基本数据类型及其在内存中占用的字节数是程序员必须掌握的基础知识。了解这些信息对于编写高效且可移植的代码至关重要,尤其是在处理不同的硬件架构和操作系统时。 首先,让...

    STM32中的C语言数据类型

    - **int**: 是一种基本的整型数据类型,通常占用4个字节,在STM32上一般为32位。 - **short**: 表示短整型,通常占用2个字节。 - **long**: 长整型,通常占用4个字节。 在STM32的库文件中,为了更好地兼容不同平台...

    C语言数据类型PPT课件.pptx

    整型变量占用的字节数根据机器硬件不同而不同,例如在IBM PC机上,signed int占4个字节,unsigned int占4个字节,short占2个字节,unsigned short占2个字节,long占4个字节,unsigned long占4个字节。 2. 实型...

    char ,int,long,float,double,等在64位和32位下分别占多少字节

    本文旨在探讨编程语言中常见的基本数据类型(`char`, `int`, `long`, `float`, `double`)在32位与64位操作系统环境下所占用的字节数量,并深入分析这些差异产生的原因及其对程序设计的影响。 #### 1. 数据类型的...

    C语言中常用数据类型内存存储形式

    double类型占用8个字节(64位),包括1位符号位,11位指数位和52位尾数位。 在C语言中,数据类型的存储形式对于数据的读取和解释非常重要。例如,char类型数据可以被赋值给short类型,此时只会复制char的低8位到...

    STM32—C语言数据类型核心知识

    STM32-C语言数据类型核心知识 STM32-C语言数据类型核心知识是指在STM32微控制器中使用C语言编程时,数据类型的定义和转换规则。了解这些规则对于编写高效、可靠的程序非常重要。 在STM32中,数据类型可以分为整型...

    C语言数据类型详解.doc

    此外,需要注意不同的编译器对基本类型的实现可能不同,例如 char 型变量的长度可能不是 1 字节,int 型变量的长度可能是 16 位或 32 位。因此,在编程中需要注意编译器的实现细节。 在实际应用中,需要根据实际...

    C语言实现 数据类型占多少字节指针占多少字节

    C语言实现数据类型占多少字节指针占多少字节 本文主要介绍了C语言中不同数据类型占用的字节大小,以及指针占用的字节大小。通过示例代码,展示了如何使用sizeof运算符来获取不同数据类型的字节大小。同时,也介绍了...

    任意字节数的运算 C语言程序设计

    总结来说,“任意字节数的运算 C语言程序设计”涵盖的内容包括:数据类型的字节数、指针操作、字符串处理、动态内存分配、结构体的使用以及位运算。这些都是C语言编程中不可或缺的基础知识,理解和掌握这些技能将有...

    C语言数据类型及取值范围.doc

    C语言是一种强大的编程语言,它的核心之一就是对数据类型的精细控制。在C语言中,数据类型是用来定义变量的存储大小和可能的值的范围。理解这些类型及其取值范围对于编写有效的、高效的代码至关重要。 首先,C语言...

    C语言 数据类型运算符表达式

    在C语言中,数据类型是编程的基础,它们用于定义程序中变量的性质,决定着数据的存储方式和允许的操作。C语言提供了多种数据类型,包括基本类型和构造类型。 基本类型是C语言中最基础的数据类型,包括整型、字符型...

    C语言 数据的字节对齐

    例如,在32位系统中,`int`类型的变量(通常为4个字节)应该被放置在地址能够被4整除的位置。 #### 为什么需要字节对齐? - **提高访问速度**:大多数现代处理器能够更高效地处理位于特定地址边界上的数据。如果...

    C语言中各个数据类型的长度

    8. ** sizeof 运算符**:可以用来获取任何数据类型的大小,例如 `sizeof(int)` 将返回 `int` 类型的字节数。 理解这些数据类型的长度对于优化内存使用、计算数组或结构体的大小以及避免溢出等问题至关重要。在实际...

    C语言数据类型wincc.pdf

    - 在不同的编译器或平台上,数据类型的实际大小可能会有所不同,例如在32位系统和64位系统上的区别。 ### 结论 文档中虽然存在扫描错误和遗漏,但关键的知识点可以从上述介绍中获得。正确理解和使用C语言的数据类型...

    C语言的数据类型与格式控制

    C语言的数据类型与格式控制 C语言中有多种基本类型,包括字节型(char)、整型(int)和浮点型(float/double)。这些基本类型可以使用符号属性(signed、unsigned)和长度属性(short、long)来说明变量的取值区间...

    c语言数据类型基础提高

    - 用于计算数据类型或变量所占内存的字节数,如`sizeof(int)`返回4。 通过深入学习这些基础知识,你可以更好地理解C语言中的数据处理,并编写出高效且健壮的代码。在实际编程中,合理选择和使用数据类型是优化程序...

    C语言中int到float的强制类型转换

    也就是说,在一个4字节(32位)中,除去首位用于符号位表示正负外,其余的31位都是数字的有效位。 其次,需要了解float型变量的表示形式。根据IEEE的浮点标准,一个浮点数应该用下述形式来表示:V=(-1)^s * M * 2^E...

    C语言数据类型笔记及代码

    在C语言的代码编写中,我们经常需要利用这些数据类型进行算术运算、比较运算、逻辑运算以及位运算。例如,加法操作`+`、减法`-`、乘法`*`、除法`/`、求余数`%`等。同时,我们还需要注意类型之间的兼容性和转换规则,...

    不使用sizeof 判断一个数据所占的内存大小

    比如,在32位系统上,一个int可能占用4个字节,而在64位系统上也是4个字节。然而,指针类型因为需要存储地址信息,其大小通常是固定的,在64位系统中通常占用8个字节,在32位系统中占用4个字节。 现在,笔试题目...

Global site tag (gtag.js) - Google Analytics