信息存储---字节顺序

  对于跨越多字节的程序对象,必须建立两个规则:对象的地址是什么和存储器中如何对字节进行排序.

   一个w位的整数,位表示为[xw-1,xw-2 … , x1, x0,其中是xw-1最高有效位,而是x0最低有效位.

    对表示一个对象的字节序列排序,有两个通用的规则:

小端法(little endian):在存储器中按照从最低有效字节到最高有效位字节的顺序存储对象.

大端法(big endian):在存储器中按照从最高有效字节到最低有效位字节的顺序存储对象.

     大多数源自以前的Digital Equipment(现在是Compaq公司的一部分)的机器,以及Intel的机器都采用小端法;IBM,MotorolaSun Microsystems的大多数机器采用大端法.IBM制造的个人计算机使用的是Intel兼容的处理器,因此就是小端法.许多微处理器芯片,包括AlphaMotorolaPowerPC,能够在运行在任一种模式中,其取决于芯片加电启动时确定的字节顺序规则.

      不同类型机器之间通过网络传送二进制数据时,字节顺序会成为问题.TCP/IP为任意整数数据项定义一致的网络字节顺序(network byte order)为大端字节顺序.

    C语言中的字符串被编码为一个以null(其值为零)字符结尾的字符数组.每个字符都由某个标准编码来表示,最常见的就是ASCII字符码.在使用ASCII码作为字符码的任何系统上都将得到相同的结果,与字节顺序和字大小规则无关.因而文本数据比二进制数据具有更强的平台独立性.

判断所用机器是那种存储顺序的几种方法:

 

参考:

<<深入理解计算机系统>>(修订版)2 []Randal E.Bryant  David O’Hallaron

龚奕利 雷迎春 译

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值