高字节和低字节

高字节和低字节

一. 计算机的数值应视为连续若干个二进制位的集合;

二. 所谓高、低字节就是此集合中位地址高/低的二进制位集合;

三. 例如定义一个unsigned short型变量在0x1234 5678,那么这个变量的地址就是0x1234 5678,占用0x1234 5678与0x1234 5679两字节存储空间,其中0x1234 5678是低字节、0x1234 5679是高字节。

四、 一个16进制数有两个字节组成,例如:A9。

高字节就是指16进制数的前8位(权重高的8位),如上例中的A。

低字节就是指16进制数的后8位(权重低的8位),如上例中的9。
--------------------- 
作者:Bruce_Qee 
来源:优快云 
原文:https://blog.youkuaiyun.com/Bruce_Qee/article/details/64932490 
版权声明:本文为博主原创文章,转载请附上博文链接!

在MATLAB中,处理高字节低字节的问题通常是与二进制数据、整数的存储网络字节序(大端序)与主机字节序(小端序)之间的转换相关。在不同的计算机系统中,整数的存储方式可能不同,有的系统先存储高字节(大端序),有的系统先存储低字节(小端序)。 要进行高字节低字节的转换,可以通过以下步骤: 1. 使用`bitget`函数提取特定字节。例如,要获取一个32位整数的高字节,可以使用`bitget(number, 24:31)`。 2. 使用`bitshift`函数移位。如果需要交换高字节低字节,可以将提取出的高字节左移或右移相应的位数。 3. 使用位运算符(例如位与`&`、位或`|`、位异或`~`)进行合并。例如,可以通过位或运算将调整后的高字节低字节合并到一起。 具体到代码,可以使用MATLAB提供的位操作函数来实现这一过程。以下是一个简单的例子: ```matlab % 假设有一个整数 number number = uint32(0x12345678); % 提取高字节低字节 high_byte = bitget(number, 24:31); % 高字节是32位中的第24到第31位 low_byte = bitget(number, 0:7); % 低字节是32位中的第0到第7位 % 将高字节左移8位,低字节右移8位,以交换它们的位置 high_byte_shifted = bitshift(high_byte, 8); low_byte_shifted = bitshift(low_byte, -8); % 将交换后的高字节低字节合并回一个整数 new_number = bor(bitshift(high_byte_shifted, 0), bitshift(low_byte_shifted, 8)); ``` 上述代码中的`bor`函数是按位或操作,用于合并两个整数。这只是实现高字节低字节转换的一种方法,根据具体的应用场景需求,可能需要其他的位操作函数来实现更复杂的转换逻辑。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值