精华内容
下载资源
问答
  • 32位和64位系统区别及不同数据类型字节数 ... 不同数据类型的字节数2.1 程序运行平台2.2 常用数据类型对应字节数 1. 64 位系统和 32 位有什么区别? 64bit CPU 拥有更大的寻址能力,理论上可以支持 12...

    32位和64位系统区别及不同数据类型字节数

    1. 64 位系统和 32 位有什么区别?

    • 64bit CPU 拥有更大的寻址能力,理论上可以支持 128GB 内存,而当前主流主板只能支持到16GB 内存,而 32bit 只支持 4G 内存。
    • 64 位 CPU一次可提取 64位 数据,比 32位 提高了一倍,理论上性能会提升 1倍 。但这是建立在 64bit 操作系统,64bit 软件 的基础上的。

    1.1 什么是 64 位处理器?

    之所以叫做“ 64位 处理器”,是因为电脑内部都是实行 2进制 运算,处理器(CPU)一次处理数据的能力也是 2 的倍数。8位 处理器、16位 处理器、32位 处理器和64位 处理器,其计数都是 2 的倍数。一次处理的数据越大,该电脑处理信息的能力越来越大;因此 64位 处理在先天就比 32位 处理器具有快速的能力。那为什么不用更高级的 128位 处理器呢?因为 位数越高,处理器芯片的设计也就越复杂,目前的技术水平暂时无法制造这么复杂的芯片。

    1.2 64位处理器之失

    硬件—缺乏驱动程序,很多现有硬件无法使用
    软件—操作系统不是问题,但是软件出现不兼容难题

    1.3 64位处理器之得

    硬件—更快的执行速度,更大的内存管理
    软件—最新的尖端软件首先出现在64位平台

    2. 不同数据类型的字节数

    2.1 程序运行平台

    不同的平台上对不同数据类型分配的字节数是不同的。
    个人对平台的理解是 CPU + OS + Compiler (中央处理器+操作系统+编译器),是因为:

    • 64位 机器也可以装 32位 系统(x64装XP);
    • 32位 机器上可以有 16/32位 的编译器(XP上有 tc 是 16位 的,其他常见的是 32位 的);
    • 即使是 32位 的编译器也可以弄出 64位 的integer来(int64)。

    以上这些是基于常见的 wintel 平台,加上我们可能很少机会接触的其它平台(其它的 CPU 和 OS),所以个人认为所谓平台的概念是三者的组合。

    虽然三者的长度可以不一样,但显然相互配合(即长度相等,32位 的 CPU + 32位 的 OS + 32位 的 Compiler)发挥的能量最大。

    理论上来讲 我觉得 数据类型的字节数应该是由 CPU 决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)

    2.2 常用数据类型对应字节数

    可用 sizeof(char), sizeof(char*) 等得出

    数据类型 32编译器 64位编译器
    char 1个字节 1个字节
    char*(即指针变量) 4个字节 8个字节
    short int 2个字节 2个字节
    int 4个字节 4个字节
    unsigned int 4个字节 4个字节
    float 4个字节 4个字节
    double 8个字节 8个字节
    long 4个字节 8个字节
    long long 8个字节 8个字节
    unsigned long 4个字节 8个字节

    64位 的寻址空间是 2^64, 即 64个 bit,也就是 8个 字节。同理 32位 编译器就是 4个 字节。

    展开全文
  • 数据类型的字节数

    2019-01-18 21:42:42
    在学c语言时,老师总是有事没事光拿计算机的位数来说数据类型的字节数,有时真是迷糊… 今天特此总结一番: 对于C语言各数据类型在内存中所占用的字节数,有很多笼统的说法,难免看得人云里雾里。各数据类型的字节数...

    在学c语言时,老师总是有事没事光拿计算机的位数来说数据类型的字节数,有时真是迷糊…
    今天特此总结一番:
    对于C语言各数据类型在内存中所占用的字节数,有很多笼统的说法,难免看得人云里雾里。各数据类型的字节数与三方面因素有关:
    (1)CPU位宽
    (2)操作系统位宽
    (3)编译器类型和版本
    一般来说有
    在这里插入图片描述
    但难免会有所变化和不同,那么我们就直接用代码跑一下就好啦!
    这个方法可以用sizeof函数实现,在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。不过一般用来功能是返回一个变量或者类型的大小(以字节为单位)。
    在这里插入图片描述
    用代码实现一下,可以更准确的得到你想要的结果!

    展开全文
  • 数据类型占内存位数实际上与操作系统位数和编译器(不同编译器支持位数可能有所不同)都有关。 下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数: 注意:具体在使用时候如想知道具体占内存...

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

    下面列举在GCC编译器下32位机器和64位机器各个类型变量所占字节数:
    在这里插入图片描述

    注意:具体在使用的时候如想知道具体占内存的位数通过sizeof(int)可以得到准确的答案。

    展开全文
  • 数据类型对应字节数

    千次阅读 2011-02-09 11:36:00
    不同的平台上对不同数据类型分配的字节数是不同的,本文列举了常用数据类型在32位和64位下对应字节数

    文章转自:http://www.cnblogs.com/augellis/archive/2009/09/29/1576501.html

    一、程序运行平台
          不同的平台上对不同数据类型分配的字节数是不同的。
          个人对平台的理解是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个字节

    展开全文
  • 不同的平台上对不同数据类型分配的字节数是不同的,而平台是由处理器,操作系统及编译器才能决定的。 类型 32位编译器 64位编译器 char 1个字节 1个字节 char* 4个字节(32位的寻址空间是2^32, ...
  • 32位与64位系统基本数据类型的字节数

    万次阅读 多人点赞 2016-09-08 01:58:12
    32位与64位系统数据类型不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度)。简单来说,平台就是CPU+OS+Compiler,cpu的位是指一次性可处理...
  • 在做关于一些文件读取的工作时,往往会遇到一些字符的... 不同的平台上对不同数据类型分配的字节数是不同的。  个人对平台的理解是CPU+OS+Compiler,是因为:  1、64位机器也可以装32位系统(x64装XP);  
  • 基本数据类型字节数

    千次阅读 2017-03-08 11:52:50
    不同数据类型所占用的字节数与编译器用的数据模型有关,与系统位数没有关系。(除了指针) 指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。 绝大部分64位的Unix,...
  • 3. c++标准规定了数据类型的尺寸的最小值,同时允许编译器赋予这些类型更大的尺寸! 64位CPU的计算机上安装64位系统。   16位编译器 32位编译器(VS中设置为x86:即32位OS) ...
  • 不同位数编译器下的基本数据类型所占的字节数:16位编译器 char :1个字节char*(即指针变量): 2个字节short int : 2个字节int: 2个字节unsigned int : 2个字节float: 4个字节double: 8个字节long: 4个...
  •  不同的平台上对不同数据类型分配的字节数是不同的。   个人对平台的理解是CPU+OS+Compiler,是因为:   1、64位机器也可以装32位系统(x64装XP);   2、32位机器上可以有16/32位的编译器(XP上有tc是16位的...
  • 数据类型字节数 数据类型 8位(字节) 16位(字节) 32位(字节) 64位(字节) char 1 1 1 1 char* 4 4 4 8(指针类型) short int 2 2 2 2 int 2 2
  • c语言中不同数据类型所占的字节数和编译器有关 一,整型 Turbo C:  [signed] int 2Byte//有符号数,-32768~32767  unsigned int 2Byte //无符号数,只能表示整数0~65535  [signed] short [int] 2Byte  ...
  •  不同的平台上对不同数据类型分配的字节数是不同的。   个人对平台的理解是CPU+OS+Compiler,是因为:   1、64位机器也可以装32位系统(x64装XP);   2、32位机器上可以有16/32位的编译器(XP上有tc是16...
  • 我们常常会碰到说在 32/64 位系统下,会出现同一种数据类型所占的字节数不同,这会给我们造成误区,会认为是根据我们电脑的操作系统 32/64 位来决定的,这是错误的! 准确的说,应该是与编译器位数有关,由 32/64 ...
  • 数据类型字节数

    2016-09-17 21:05:57
     不同的平台上对不同数据类型分配的字节数是不同的。  个人对平台的理解是CPU+OS+Compiler,是因为:   1、64位机器也可以装32位系统(x64装XP);   2、32位机器上可以有16/32位的编译器(XP上有tc是16位...
  • Java语言:跨平台特性,数据类型字节数固定。 二、字符集和编码集 字符编码笔记:ASCII,Unicode 和 UTF-8 图说我对Unicode几点理解 编码方式 英文(字节数) 中文(字节数) GB2312...
  • 环境:windows 64位操作系统 #include <stdio.h> int main(void) { printf("sizeof(bool):%d\n", sizeof(bool));... printf("sizeof(char):%d\n", sizeof(char));... printf("sizeof(short int):%d\n", ...
  • 一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,968
精华内容 787
关键字:

不同数据类型的字节数