C语言 对字节的高位和低位进行互换!
答案:4 悬赏:70 手机版
解决时间 2021-01-18 23:08
- 提问者网友:绫月
- 2021-01-18 02:06
C语言 对字节的高位和低位进行互换!
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-01-18 03:16
可以直接用位运算:按位与,按位或,移位等
#include "stdio.h"
int main()
{
unsigned char tmp1,tmp2;
printf("please input a char: ");
scanf("%c", &tmp1);
tmp2=
((tmp1&0x01)<<7)
|((tmp1&0x02)<<5)
|((tmp1&0x04)<<3)
|((tmp1&0x08)<<1)
|((tmp1&0x10)>>1)
|((tmp1&0x20)>>3)
|((tmp1&0x40)>>5)
|((tmp1&0x80)>>7);
printf("converted char is: %c\n", tmp2);
return 0;
}
#include "stdio.h"
int main()
{
unsigned char tmp1,tmp2;
printf("please input a char: ");
scanf("%c", &tmp1);
tmp2=
((tmp1&0x01)<<7)
|((tmp1&0x02)<<5)
|((tmp1&0x04)<<3)
|((tmp1&0x08)<<1)
|((tmp1&0x10)>>1)
|((tmp1&0x20)>>3)
|((tmp1&0x40)>>5)
|((tmp1&0x80)>>7);
printf("converted char is: %c\n", tmp2);
return 0;
}
全部回答
- 1楼网友:孤独入客枕
- 2021-01-18 06:03
#include "stdio.h"
struct bits_t
{
char b1:1;
char b2:1;
char b3:1;
char b4:1;
char b5:1;
char b6:1;
char b7:1;
char b8:1;
};
union u_cache
{
char c;
struct bits_t ch;
};
int main()
{
union u_cache tmp1,tmp2;
printf("please input a char: ");
scanf("%c", &tmp1.c);
tmp2.ch.b1 = tmp1.ch.b8;
tmp2.ch.b2 = tmp1.ch.b7;
tmp2.ch.b3 = tmp1.ch.b6;
tmp2.ch.b4 = tmp1.ch.b5;
tmp2.ch.b5 = tmp1.ch.b4;
tmp2.ch.b6 = tmp1.ch.b3;
tmp2.ch.b7 = tmp1.ch.b2;
tmp2.ch.b8 = tmp1.ch.b1;
printf("converted char is: %c\n", tmp2.c);
return 0;
}
struct bits_t
{
char b1:1;
char b2:1;
char b3:1;
char b4:1;
char b5:1;
char b6:1;
char b7:1;
char b8:1;
};
union u_cache
{
char c;
struct bits_t ch;
};
int main()
{
union u_cache tmp1,tmp2;
printf("please input a char: ");
scanf("%c", &tmp1.c);
tmp2.ch.b1 = tmp1.ch.b8;
tmp2.ch.b2 = tmp1.ch.b7;
tmp2.ch.b3 = tmp1.ch.b6;
tmp2.ch.b4 = tmp1.ch.b5;
tmp2.ch.b5 = tmp1.ch.b4;
tmp2.ch.b6 = tmp1.ch.b3;
tmp2.ch.b7 = tmp1.ch.b2;
tmp2.ch.b8 = tmp1.ch.b1;
printf("converted char is: %c\n", tmp2.c);
return 0;
}
- 2楼网友:山有枢
- 2021-01-18 04:46
赞成 高经理 的回答。
他的做法的对的。
他的做法的对的。
- 3楼网友:拜訪者
- 2021-01-18 04:20
按位交换也就4次
可以不用循环
可以不用循环
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯