大小字节序与进制转换复习

大小字节序叫高低端序好理解

1 . Little endian(小字节序、低端序) :低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
2 . Big endian (大字节序、高端序):高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。

变量如何存,如何传输?

例如在内存中一个4字节十六进制变量。int a=0x01020304,它从左到右是 [高位到低位排列]。即04字节是最低位。

内存地址:  4001   4002  4003  4004

LE低端序:  04       03       02      01      (低端这位字节先存),存在低地址

BE高端序:  01       02       03      04      (高端这位字节先存),存在低地址


传输顺序:一般在数据传输时,先存的先传输。LE先传在变量a[低位的04字节],BE先传在变量a[高位的01字节]。

反过来数组重新组合成变量?

举例LE低端序传输的数组array,还原成int的时候,array[0]先放最低位,再逐位往高位放。

按BE高端序传输的数组array,还原成int的时候,array[0]先放最高位,再逐位往低位放。

 

 

进制转换:

二进制转十六进制: 以4个bit(位)为一段,即8421方式算,如下:

1111  0101——>8+4+2+1   0+4+0+1——>0x15  5——>0xF 5

二进制转十进进制:

1.每个bit乘以对应的权数,这些结果再相加:  

      1*2(7次方)+1*2(6次方)+1*2(5次方)+1*2(4次方)+0*2(3次方)+1*2(2次方)+0*2(1次方)+1*2(0次方)——>

     128+64+32+16+4+1=245

2..先转十六进制,再转十进制。即1111  0101——>0xF 5——>15*16+5=245

二进制化为八进制:

整数部份从最低有效位开始,以3位一组,最高有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的整数。

小数部份从最高有效位开始,以3位一组,最低有效位不足3位时以0补齐,每一组均可转换成一个八进制的值,转换完毕就是八进制的小数。

例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值