发布网友 发布时间: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>热心网友 时间: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);
}百度地图