深入理解计算机操作系统(2.1.3)
来源:互联网 发布:java thread import 编辑:程序博客网 时间:2024/05/25 21:35
寻址和字节顺序
对于夸多字节的程序对象,必须建立两个规则:
- 对象的地址是什么
- 内存中如何排列这些字节的
对象的地址:假设一个int变量占四个字节,该变量的地址为0x100,在C语言中地址表达式就是&x的值就是0x100,那么在内存中该变量占的地址就是0x100、0x101、0x102、0x103。总结就是夸多字节的对象的地址是该对象的所占地址的起始地址。
字节排序:内存中的字节排序分为两种,一种是小端法,最低有效字节在最前面;一种是大端法,最高有效字节在最前面。
假设变量x的类型为int,位于地址0x100处,十六进制为0x01234567。地址范围是0x100-0x103,分别用小端法和大端法表示:
使用不同的机器字节顺序可能不同,这样会产生三个问题:
- 小端法机器产生的数据发送到大端法或者反过来时,接受程序会发现,字里的字节成了反序的。为了避免这类问题,网络应用程序的代码编写必须遵守已建立的关于字节顺序的规则,以确保发送方机器将它的内部实现转化成网络标准,而接收方机器则将网络标准转为内部表示。
- 当阅读表示整数数据的字节序列时,字节顺序也很重要,因为从当检查机器级代码时,如果机器的字节顺序小端法表示的,那么阅读时就应该从右往左读,这样拿到的才是正确的数据。
- 第三种情况是当编写规避正常类型的类型系统的程序是。
阅读全文
0 0
- 深入理解计算机操作系统(2.1.3)
- 深入理解计算机操作系统(2.3.3)
- 深入理解计算机操作系统(2.1.1、2.1.2)
- 深入理解计算机操作系统(2.1.8 2.1.9)
- 深入理解计算机操作系统(2.2.2 2.2.3)
- 读 深入理解计算机操作系统(第3版) 记录
- 深入理解计算机操作系统(杂贴)
- 深入理解计算机操作系统(一)概要
- 深入理解计算机操作系统(2.2.4)
- 深入理解计算机操作系统(2.2.7)
- 深入理解计算机操作系统(2.2.7)
- 深入理解计算机操作系统(2.3.1)
- 深入理解计算机操作系统(2.3.2)
- 深入理解计算机操作系统(2.4.2)
- 深入理解计算机操作系统(笔记)
- 《深入理解计算机操作系统》资料
- 深入理解计算机操作系统学习笔记(1)
- 思维导图-深入理解计算机操作系统
- base64学习笔记
- 排序算法(三)交换类排序:冒泡排序和快速排序
- DOM包裹wrap()方法
- Java插入排序
- Android异步处理技术
- 深入理解计算机操作系统(2.1.3)
- 单词倒排(C/C++)
- 【视频开发】Cximage<---->Mat 、Cximage<---->lplImage 以及 lplImage<----->Mat的转换、像素位深度
- 系统管理员应该知道的20条Linux命令
- Android UI之TextView使用
- Gradle: 错误: -source 1.7 中不支持 lambda 表达式 (请使用 -source 8 或更高版本以启用 lambda 表达式)
- 【POJ 1258】Agri-Net(最小生成树-水题)
- SpringMVC4.3x教程之六验证Validator详解
- 在struts2中向值栈存放数据的3种方式