标题: 有没有啥C语言函数能实现以下功能 [打印本页]

作者: 18674201426    时间: 2021-1-27 22:17
标题: 有没有啥C语言函数能实现以下功能
RT,有没有啥函数能实现以下功能----初学单片机和C语言不久,望大神解惑。

比如a=0xfe(1111 1110),b=0xfd(1111 1101),用函数将b中的0移位到a中去也就是c=0xfc(1111 1100)。如果不行,那就算啦
如果可以又该怎么返回,比如,c=0xfc(1111 1100),b=0xfd(1111 1101),将b中的0位转到c中对应1,也就是a=0xfe(1111 1110)
求大神解惑!谢谢!

作者: 18674201426    时间: 2021-1-27 22:29
哦,我知道了,按位与运算
作者: 罗程峰8200    时间: 2021-1-28 08:04
a=0xfe(1111 1110)|b=0xfd(1111 1101)=c=0xfc(1111 1100) 逆向运算|是做不到的,毕竟不是加减法
作者: 罗程峰8200    时间: 2021-1-28 08:05
刚刚用错符号了,应该是a=0xfe(1111 1110)&b=0xfd(1111 1101)=c=0xfc(1111 1100)
作者: zhangkuitao    时间: 2021-1-28 09:38
可以调用  "intrins.h"   里面的一些命令吧,应该方便点
_crol_ 字符循环左移      ;      _cror_ 字符循环右移
作者: 18674201426    时间: 2021-1-28 17:54
罗程峰8200 发表于 2021-1-28 08:05
刚刚用错符号了,应该是a=0xfe(1111 1110)&b=0xfd(1111 1101)=c=0xfc(1111 1100)

是,正向 与运算可以,但是逆向好像很难
作者: 51mcu学习    时间: 2021-1-28 20:06
可以调用  "intrins.h"   里面的一些命令吧,应该方便点
_crol_ 字符循环左移      ;      _cror_ 字符循环右移

做流水灯
作者: zhai1995    时间: 2021-1-29 10:33
a= ~b|c      即b取反或c  就是a了
作者: xunzhaod    时间: 2021-2-9 11:03
写一个函数,for(i=0;i++;i<7){}
作者: xunzhaod    时间: 2021-2-9 11:07
for(i=0;i<7;i++)
{
      i=1<<i;
     if(i&&b==0)
     {
       a=a<<1;
     };通过这条语句可以实现刚才的算法
}
作者: 学生1    时间: 2021-2-9 15:11
按位操作,一位一位的移位




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1