如何将一个字节各位反过来???!!!!!!!!!!

njtlxm 2001-08-10 02:49:52
比如一个字节是0000,0001,按正常情况下,整数值是1,我现在想反过来求,即将它变为1000,0000,怎么办?有这样的函数吗?
...全文
204 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zd1219 2001-08-10
  • 打赏
  • 举报
回复
对各位取反不行吗?a=a^1;
pitchstar 2001-08-10
  • 打赏
  • 举报
回复
哦,又错了
for(int i=0;i<4;i++){
b+=(a&(1<<i))<<(7-i*2);
b+=(a&(1<<(i+4)))>>(i*2+1);
}
njtlxm 2001-08-10
  • 打赏
  • 举报
回复
我不像编程,只是问有没有函数
G_zcm 2001-08-10
  • 打赏
  • 举报
回复
我刚刚试了,能够移成你想要的结果,记得给分。我到csdn块三个月了,才53专家分。
pitchstar 2001-08-10
  • 打赏
  • 举报
回复
抱歉,我说错了
重写

for(int i=0;i<4;i++){
b+=(a&(1<<i))<<(7-i*2);
b+=(a&(1<<(i+4)))>>(i*2-7);
}
pitchstar 2001-08-10
  • 打赏
  • 举报
回复
我有个笨办法,如果把 a 反转后给 b可以如下:
unsigned char a;
unsigned char b;
a=0xab;
b=0;

for(int i=0;i<8;i++){
b+=a&(1<<i);
}
G_zcm 2001-08-10
  • 打赏
  • 举报
回复
BYTE i;
__asm
{
ROR i,0x01//循环右移,好像是这样的,自己找书吧
}
sungolf 2001-08-10
  • 打赏
  • 举报
回复
求反operator ~ 不是各位反转,赞同老虎&狐狸的方法。
tigerfox 2001-08-10
  • 打赏
  • 举报
回复
可编写一个自定义函数inverse,采用模2运算取出各位,以求反输出
minkerui 2001-08-10
  • 打赏
  • 举报
回复
a=~a

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧