sgdd.net
当前位置:首页 >> 高低字节交换的意义 >>

高低字节交换的意义

数据经过MD5 hash后变成一个128位的code存储在内存中 这是没问题的,但是要用 printf("MD5 Code:%08x%08x%08x%08x\n",这种格式显示的话,对于little-endian机器(低位字节在前)会按每32位逆序显示.比如内存中的11 22 33 44 55

如果一个两位的十进制数是53,除以10,得到5;高低交换后,除以10得到3.完成了分离.后面你去想

计算机的数值应视为连续若干个二进制位的集合. 所谓高、低字节就是此集合中位地址高/低的二进制位集合. 例如我们定义一个unsigned short型变量在0x1234 5678,那么这个变量的地址就是0x1234 5678,占用0x1234 5678与0x1234 5679两字节存储空间.其中0x1234 5678是低字节、0x1234 5679是高字节(小端模式下). 不知道这么解释你能清楚一点不.

在编程语言中,字符一般是占16位,8位为一字节,所以有高位字节和低位字节.一个16进制数有两个字节组成,例如:A9.高字节就是指16进制数的前8位(权重高的8位),如上例中的A.低字节就是指16进制数的后8位(权重低的8位),如上例中的9.

半字节交换指令如在PIC单片机中,因不改变任何标志,一般常用于中断现场保护,如:保护现场:MOVWF W_TEMP ;复制W到它的临时寄存器W_TEMP中SWAPF STATUS,W ;将STATUS中的高低四位交换后放入WMOVWF STATUS_TEMP ;将交换过的数据保存到寄存器中CLRF STATUS ;不管目前在哪个体,都设置成体0为当前体恢复现场:SWAPF STATUS_TEMP,W ;恢复W和STATUS在值MOVWF STATUSSWAPF W_TEMP,FSWAPF W_TEMP,WRETFIE

swap是交换指令,具体功能要看单片机内核了.大概是这样的:如果是8位内核的,比如mcs-51,实现的是字节内高四位和低四位的交换.如果是32位arm的话,实现两个操作地址内的数据交换.总的来说,就是数据交换了,至于怎么交换,由内核机制决定.

??????为什么6SE70读写状字要高低位互换??

C?((input>>4)&0x0F)|((input

#define swap(a) (a&0x01)<<7 | (a&0x02) <<5 | \ (a&0x04)<<3 | (a&0x08)<<1 | \ (a&0x10)>>1 | (a&0x20)>>3 | \ (a&0x40)>>5 | (a&0x80)>>7 优先及问题.

一个16进制数有两个字节组成,例如:A9.高字节就是指16进制数的前8位(权重高的8位),如上例中的A.低字节就是指16进制数的后8位(权重低的8位),如上例中的9.

9213.net | xmjp.net | qwrx.net | mdsk.net | zmqs.net | 网站首页 | 网站地图
All rights reserved Powered by www.sgdd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com