首页 > 其他 > 详细

信息的表示和处理

时间:2019-09-09 01:30:33      阅读:71      评论:0      收藏:0      [点我收藏+]

在计算机中,最终存储和处理的数据都是由 0 和 1 组成的,二值信息在计算机中能够更容易的被表示、存储和传输,比如晶体管中的高电压信号表示 1 ,低电压信息表示 0。

 

基本概念

  • 位:英文为 bit ,计算机内部最小的数据单位,每位的状态只能是 0 或 1。
  • 字节(块):英文为 Byte,一字节为 8 个二进制位。 1 Byte = 8 bit 。计算机中最小的可寻址的存储单位。8 位二进制最小为 00000000,最大为 11111111,因为二进制表示法太冗长,通常使用十六进制来表示,0x00 ~ 0xFF。
  • 字:英文为 Word,一次事务处理(存储、加工或传输)的二进制数据,数据的长度称为字长。一个字通常由一个或多个字节构成,比如 32 位机器的字就是 4 个字节。虚拟地址就是以一个字来编码的,所以字长决定了虚拟地址空间的大小,如 一个字长为 w 的机器,虚拟地址的范围为 0 ~ 2w-1,程序最多可以访问 2w 个字节。

 

寻址和字节顺序

一个 int 类型的数据变量 a(如为 19088743,十六进制为 0x01234567) , 它是需要多个字节来存储数据内容的,假设变量 a 地址为 0x100,那么 a 的 4 个字节将被存储在存储器的 0x100, 0x101, 0x102 和 0x103 位置。

十六进制 0x01234567 中的低位是 67 ,高位是 01。

有些机器选择在存储器中按照从最低有效字节到最高有效字节的顺序存储对象 - 最低有效字节在最前面,称为 小端法(little endian)

有些机器选择在存储器中按照从最高有效字节到最低有效字节的顺序存储对象 - 最高有效字节在最前面,称为 大端法(big endian)

技术分享图片

在自己写二进制的传输协议时,如果在不同类型的机器之间通过网络传送二进制数据,需要注意两端都需要使用相同方法读取数据。

 

信息的表示和处理

原文:https://www.cnblogs.com/ysfdm/p/csapp-hex.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!