"我们通常说的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。
既:cpu的处理字节指令长度,后者可以在一个时钟周期内处理一条64bit的数据
从32位到64位,表面上好象只是CPU字长增大了一倍,实际上它使寻址范围、最大内存容量、数据传输和处理速度、数值精度等指标也成倍增加,带来的结果就是CPU的处理能力得到大幅提升,尤其是对强烈依赖数值运算、存在巨量数据吞吐和需要超大并发处理的应用提升效果非常明显,如科学计算、人工智能、平面设计、视频处理、3D动画和游戏、数据库以及各种网络服务器等."
32位机器最大物理内存是4G,64位版本可以处理的物理内存(RAM)在4 GB=(2^32bit)以上,高达128GB
Linux的64位系统只支持64GB内存,这里是人为的内存限制,实际的寻址范围应该是2^64bit,远远超过128GB.
32位编译器和64位编译器也有不同,
指针由32bit(4byte)变成了64bit(8byte).
以及long由 32bit变成了64bit(8byte),标准c里面long long才是64bit。
--------------
数值的保存范围...
byte是一字节
short一般是两字节//实际上编译器也会分配DWORD =4 byte的大小
int是四字节
long也是四字节...
(上面说的是VC编译的,这个多少字节和编译有关系的...在TC下又有所不同)
---------------
下面的是JAVA的基础类型
byte的存储空间1个字节,取值范围-128~127
short存储空间2个字节,取值范围-2的15次方~2的15次方-1
int存储空间4个字节,取值范围-2的31次方~2的31次方-1
long存储空间8个字节,取值范围-2的63次方~2的63次方-1
其默认值均为0
楼上的,int如果在C和C++中有可能是2个字节起。这一定要说明白!
--------------------
posted on 2011-04-10 13:25
luis 阅读(582)
评论(0) 编辑 收藏 引用