比如这么一个结构体
struct foo {
short s;
int   n;
};

struct foo bar;
假设bar的地址是0x12345670
如果不按4字节对齐
那么bar.n的地址就是0x12345672, 也就是下面的黑体部分
0x12345670 a0 a1 a2 a3
0x12345674 b0 b1 b2 b3
为了取到n的值就需要访问两次内存,一次访问0x12345670,一次访问0x12345674
然后把两个int值组合在一起,a2 a3 b0 b1

http://www.doc88.com/p-205512154878.html   此文中说明更加详细易懂

市面上所说的64位处理器包括AMD Athlon 64与INTEL的EMT64处理器都是指通用寄存器的位宽,不是总线。
但要从数据总线方面来说,从80386开始就已经是32bit
而奔腾级别以上的CPU数据数据总线都是64bit了,包括安腾在内的64位服务器处理器。
而我们通常所说的32bit向64bit过度都是习惯上以通用寄存器的位宽来区分的。
还有一种更具体的说法是:
这里的64位技术是相对于32位而言的,这个位数指的是CPU GPRs(General-Purpose Registers,通用寄存器)的数据宽度为64位,
64位指令集就是运行64位数据的指令,也就是说处理器一次可以运行64bit数据。64bit处理器并非现在才有的,
在高端的RISC(Reduced Instruction Set Computing,精简指令集计算机)很早就有64bit处理器了,
比如SUN公司的UltraSparc Ⅲ、IBM公司的POWER5、HP公司的Alpha等。

引用自 http://bbs.csdn.net/topics/390291667?page=1

http://www.cnblogs.com/lancidie/archive/2011/08/18/2144071.html

最新文章

  1. Atitit.css 规范 bem  项目中 CSS 的组织和管理
  2. Source Xref 与 JavaDocs 学习理解
  3. 利用excel数据透视表实现快速统计相关数据
  4. linux 命令小例
  5. ds18b20里的 温度值正负判断 为什么要判断大于6348 ,为什么取这个值?
  6. RabbitMQ RPC问题
  7. bss段为什么要初始化,清除
  8. android 解析文章,通过JSON格式请求传递 的好文章,这里记录一下
  9. ubuntu 新建zend framework 项目
  10. 基于cxf开发restful风格的Web Service
  11. C语言中复数运算及调用blas,lapack中复数函数进行科学计算
  12. 【SSH/SFTP】SSH协议和SFTP
  13. java日期相关
  14. C++实用整数快速输入输出模板(C++)
  15. Android 8 wifi 扫描时间间隔
  16. [翻译]CSS3 Media Queries
  17. urlrewriteFilter condition----reference
  18. spring boot在intellij idea下整合mybatis可能遇到的问题
  19. 【Cf #502 H】The Films(莫队)
  20. 【目标检测大集合】R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记

热门文章

  1. [LintCode笔记了解一下]39.恢复旋转排序数组
  2. poj3274 Gold Balanced Lineup(HASH)
  3. delphi7和XE下 获取路径
  4. IIS 6.0 发布网站使用教程
  5. post get 方法
  6. mvc+EF - 有用文章
  7. Xamarin 笔记
  8. 倍增求lca(模板)
  9. C# 接口(3)
  10. App Store提交审核报错 ERROR ITMS-90087解决办法