首 页 行业热点 新车 试驾评测 养车用车 车型库

c语言实现2个字节的高低位转化

发布网友 发布时间:2022-04-21 14:50

我来回答

5个回答

热心网友 时间:2023-10-04 18:50

2个字节short int 高低位转化:
short int y=0x7f21;
y = ( (y & 0xff00) >> 8) | ( (y & 0x00ff ) << 8);
printf("%#x",y);

-------------------------------
也可以利用 union
union B2
{
short int i;
unsigned char c[2];
// 。。。任意两字节类型
} ;

union B2 x;
unsigned char tmp;
x.i=0x1234;
tmp = x.c[0]; x.c[0]=x.c[1];x.c[1]=tmp;
// 也可以用上面的位运算方法交换高低端
printf("%#x\n",x.i);

// union 方法特别适合4字节8字节 大端小端码的转换操作。

热心网友 时间:2023-10-04 18:50

2个字节short
int
高低位转化:
short
int
y=0x7f21;
y
=
(
(y
&
0xff00)
>>
8)
|
(
(y
&
0x00ff
)
<<
8);
printf("%#x",y);
-------------------------------
也可以利用
union
union
B2
{
short
int
i;
unsigned
char
c[2];
//
。。。任意两字节类型
}
;
union
B2
x;
unsigned
char
tmp;
x.i=0x1234;
tmp
=
x.c[0];
x.c[0]=x.c[1];x.c[1]=tmp;
//
也可以用上面的位运算方法交换高低端
printf("%#x\n",x.i);
//
union
方法特别适合4字节8字节
大端小端码的转换操作。

热心网友 时间:2023-10-04 18:50

1、有除法,效率最低。rol指令,这个效率最高。 位操作效率比除法高, 效率比1高.。

2、例程:

#include<stdio.h>
#define Mask  0x00FF
void main()
{
 short int a=0x1234,b,c;
 b=(a>>8)&Mask;
 c=(a<<8)&(~Mask);
 a=b|c;
    printf("%0x",a);
}

热心网友 时间:2023-10-04 18:51

//程序可以正确运行,希望kutpbpb的回答能对你有所帮助!
#include<stdio.h>
#define Mask 0x00FF
void main()
{
short int a=0x1234,b,c;
b=(a>>8)&Mask;
c=(a<<8)&(~Mask);
a=b|c;
printf("%0x",a);
}百度地图

本数据来源于百度地图,最终结果以百度地图最新数据为准。

热心网友 时间:2023-10-04 18:52

//程序可以正确运行,希望kutpbpb的回答能对你有所帮助!
#include
#define
Mask
0x00FF
void
main()
{
short
int
a=0x1234,b,c;
b=(a>>8)&Mask;
c=(a<<8)&(~Mask);
a=b|c;
printf("%0x",a);
}百度地图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com