【转】32位和64位系统区别及int字节数

http://blog.csdn.net/zhongzhiwei/article/details/8678885

一)64位系统和32位有什么区别?

1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存

2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。

什么是64位处理器?

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

64位处理器之失

※硬件———缺乏驱动程序,很多现有硬件无法使用

※软件———操作系统不是问题,但是软件出现不兼容难题

64位处理器之得

※硬件———更快的执行速度,更大的内存管理

※软件———最新的尖端软件首先出现在64位平台

(二)数据类型对应字节数

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

时间: 2024-08-10 19:05:02

【转】32位和64位系统区别及int字节数的相关文章

32位和64位系统区别及int字节数

一)64位系统和32位有什么区别? 1.64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存 2.64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍.但这是建立在64bit操作系统,64bit软件的基础上的. 什么是64位处理器? 之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(CPU)一次处理数据的能力也是2的倍数.8位处理器.16位处理器.32位处理器和64位处理器,其计数都是2的倍数.一次处理的数据越大,该电

32位,64位操作系统下基本数据类型字节大小

c语言中基本数据类型的长度: 32位下: char :1个字节(不变) *(指针变量): 4个字节(32位机的寻址空间是4个字节.同理64位编译器)(变化) short int : 2个字节(不变) int: 4个字节(不变) unsigned int : 4个字节(不变) float: 4个字节(不变) double: 8个字节(不变) long: 4个字节(变化) unsigned long: 4个字节(变化*,其实就是寻址控件的地址长度数值) long long: 8个字节(不变) 64位

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

32位与64位系统的区别与联系,已经是一个老生常谈的问题了,下面我深入的给同学们介绍下Win7系统32位和64位的区别与联系,大家不太懂的地方可以问度娘.另外还有一部分朋友会问XP或者Win8系统32位与64位的区别,其实跟Win7都是一样的. Win7系统32位和64位的区别 对于目前来说,绝大多数软件以32位开发为主,当然也开始有越来越多应用采用64位设计,对于一般用户而言,不管是32位还是64位系统,其实使用上差别基本感受不到,因此一般我们无需纠结于到底是选择32位还是64位Win7系统.

Win7系统32位和64位的区别

Win7系统32位和64位的区别已经是一个老话题了,可是还是有很多朋友不明白.这两者到底有什么区别呢?下面本文与大家通俗的介绍下Win7系统32位和64位的区别,其他一些深入的理论讲述,大家可以看看文章结尾的扩展链接.值得一提的是,另外还有一部分朋友会问XP或者Win8系统32位与64位的区别,其实跟Win7都是一样的.Win7系统32位和64位的区别     对于目前来说,绝大多数软件以32位开发为主,当然也开始有越来越多应用采用64位设计,对于一般用户而言,不管是32位还是64位系统,其实使

系统32位和64位的区别

32位和64位有什么区别呢? 什么时候安装32位的,又什么时候安装64位操作系统呢?如何查看系统是32位的还是64位的?       我们所谓的32位.64位指的是CPU的GPRs(General-Purpose Registers,通用寄存器)的数据宽度.64位的cpu较之32位可以进行更大范围的整数运算:可以支持更大的内存.不能因为数字上的变化,而简单的认为64bit处理器的性能是32bit处理器性能的两倍.实际上在32bit应用下,32bit处理器的性能甚至会更强,即使是64bit处理器,

32位和64位系统的区别

系统32位和64位官方解释 32位和64位操作系统是指:CPU一次处理数据的能力是32位还是64位.现在市场上的CPU一般都是64位的,但是这些CPU并不是真正意义上的64 位CPU,里面依然保留了大部分32位的技术,只是进行了部分64位的改进.32位和64位的区别还涉及了内存的寻址方面,32位系统的最大寻址空间是2 的32次方= 4294967296(bit)= 4(GB)左右,而64位系统的最大寻址空间的寻址空间则达到了2的64次方= 4294967296(bit)的32次方=数值大于1亿G

iOS-程序发布-32位和64位系统的兼容

在苹果推出iPhone5S时,64位的应用就走到了眼前.当时就看见苹果官方资料宣布iOS7.x的SDK支持了64位的应用,而且内置的应用都已经是64位. 我记得自己刚刚接触电脑时还有16位的系统,指针的寻址范围还是16位的.当年用TurboC时,还要根据应用的大小选择是tiny模式还是其他.后来很长一段时间使用32位的模型编程,4G是牢牢记住的一个边界条件.而现在,64位走到了眼前. 就如同16位转向32位一样,硬件肯定是最先推出的,SDK也会跟进,然后各种第三方的应用才会逐步跟进,这个过程一般

32位和64位系统,到底哪个好?

今天这是个纯理论分享了,32位和64位系统有什么区别?我们到底用哪个好?这个问题在xp时代都不存在,vista系统不谈,从win7开始,才出现在我们面前,让我们抉择.相信好多人不懂或有些误区,更甚至有部分自称为[专家]的人告诉你用32位的,用64位的系统好多软件都不兼容,娜娜想说的是:没有最好,只有最合适!下面娜娜来揭开他们之间的面纱,看完之后,相信你一定能够知道哪个系统更适合自己了. 1)为什么有32位和64位之分? 其实说32位和64位是指系统支持CPU一次能够处理的数据是32位还是64位,

【扫盲】】32位和64位Windows的区别

用户购买windows安装盘或者重新安装操作系统的时候,通常会遇到这个问题,就是不知道该如何选择使用32位操作系统和64位操作系统,有人说64位系统速度快,其实理论上确实是这样,不过具体还要根据你的个人电脑实际的硬件情况来进行选择. 扫盲必看 32位和64位Windows的区别 32位和64位Windows操作系统概述 一般关于32位和64位Windows操作系统的描述都是关于CPU和内存寻址关系,现在市场上销售的CPU产品大多数是支持64位的,而内存寻址方面说的就是操作系统的64位还是32位,