-
32位和64位系统区别及不同数据类型字节数
2019-01-20 22:32:1632位和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() 是一个判断数据类型或者表达式长度的运算符。不过一般用来功能是返回一个变量或者类型的大小(以字节为单位)。
用代码实现一下,可以更准确的得到你想要的结果! -
不同数据类型占用字节数(32/64位机器)
2020-02-09 18:38:12数据类型占内存的位数实际上与操作系统的位数和编译器(不同编译器支持的位数可能有所不同)都有关。 下面列举在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个字节 -
常用数据类型对应字节数
2019-05-05 14:57:56不同的平台上对不同数据类型分配的字节数是不同的,而平台是由处理器,操作系统及编译器才能决定的。 类型 32位编译器 64位编译器 char 1个字节 1个字节 char* 4个字节(32位的寻址空间是2^32, ... -
32位与64位系统基本数据类型的字节数
2016-09-08 01:58:1232位与64位系统数据类型不同的平台上对不同的数据类型分配的字节数是不同的,一般的,数据类型的字节数是由编辑器决定的(编译期间决定数据类型长度)。简单来说,平台就是CPU+OS+Compiler,cpu的位是指一次性可处理... -
X32和X64平台下不同数据类型对应的字节数
2015-07-21 14:31:24在做关于一些文件读取的工作时,往往会遇到一些字符的... 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); -
基本数据类型占字节数
2017-03-08 11:52:50不同数据类型所占用的字节数与编译器用的数据模型有关,与系统位数没有关系。(除了指针) 指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。 绝大部分64位的Unix,... -
不同编译器下的数据类型占用的字节数
2018-12-17 19:45:363. c++标准规定了数据类型的尺寸的最小值,同时允许编译器赋予这些类型更大的尺寸! 64位CPU的计算机上安装64位系统。 16位编译器 32位编译器(VS中设置为x86:即32位OS) ... -
不同位数编译器下的基本数据类型所占的字节数(字节大小):
2018-03-22 21:52:14不同位数编译器下的基本数据类型所占的字节数:16位编译器 char :1个字节char*(即指针变量): 2个字节short int : 2个字节int: 2个字节unsigned int : 2个字节float: 4个字节double: 8个字节long: 4个... -
数据类型对应字节数(32位,64位 int 占字节数)
2018-03-02 13:37:28不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16位的... -
C和C++中数据类型占用字节数整理
2020-07-15 14:02:55数据类型与字节数 数据类型 8位(字节) 16位(字节) 32位(字节) 64位(字节) char 1 1 1 1 char* 4 4 4 8(指针类型) short int 2 2 2 2 int 2 2 -
c语言与java中不同数据类型所占字节数
2015-04-19 19:35:46c语言中不同数据类型所占的字节数和编译器有关 一,整型 Turbo C: [signed] int 2Byte//有符号数,-32768~32767 unsigned int 2Byte //无符号数,只能表示整数0~65535 [signed] short [int] 2Byte ... -
C语言数据类型占字节数
2015-05-05 20:47:40不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc是16... -
不同编译器下同一种数据类型所占字节数不同
2020-04-29 13:11:02我们常常会碰到说在 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位... -
字符集、字符编码、数据类型占字节数
2019-04-25 16:58:29Java语言:跨平台特性,数据类型占字节数固定。 二、字符集和编码集 字符编码笔记:ASCII,Unicode 和 UTF-8 图说我对Unicode的几点理解 编码方式 英文(字节数) 中文(字节数) GB2312... -
C语言--不同数据类型所占的字节数
2019-12-15 14:17:26环境: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", ... -
数据类型对应字节数(32位,64位 int 占字节数)
2018-05-07 17:15:29一、程序运行平台 不同的平台上对不同数据类型分配的字节数是不同的。 个人对平台的理解是CPU+OS+Compiler,是因为: 1、64位机器也可以装32位系统(x64装XP); 2、32位机器上可以有16/32位的编译器(XP上有tc...