永发信息网

C语言 对字节的高位和低位进行互换!

答案:4  悬赏:70  手机版
解决时间 2021-01-18 23:08
C语言 对字节的高位和低位进行互换!
最佳答案
可以直接用位运算:按位与,按位或,移位等

#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"
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;
}
赞成 高经理 的回答。
他的做法的对的。
按位交换也就4次
可以不用循环
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
启东恒大海上维尼斯到启东汽车站多少路
现在练新号都怎么快速升级,至或怎么快速到15
松下程控交换机KX-TD510为什么分机拨出外线接
李宁是国企吗
lol中飞机出魔宗好还是出三相好?分析下利弊
三爪龙和五爪龙的区别
什么是SUR回归
加盟杨国富麻辣烫赚钱吗?
结合认识的本质你是如何认识周围的人和事
2012年,有一个关于说唱的电影,里面有阿姆和
有部日本电影讲得一个女学生和一个教授
古蔺哪里有办透支卡的
汽车轮子四孔可否改五孔
读图说说泛亚铁路,中亚铁路,欧亚铁路在建设
美少女万华镜4 v1.01修复补丁怎么用?
推荐资讯
表现喜怒哀乐的成语
买个小型箱货跑长途送鸡蛋能有多少利润呢?
成都到三台有多少公里?坐车要多久
相亲的时候要不要对女孩子说我的过去,和前女
如图以一个平行四边形的底为直径画一个半圆已
黄田有联通服务厅吗?
心理必测:你的真实心理性别到底是男是女
孙中山建立黄埔军校的目的是什么?
为什么汉川人不喜欢喝茶
强三险与交强险的区别
力学中什么量用来衡量材料的强度,钢度,塑性
北宋一两银子能值多少人民币
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?