c语言位操作,低八位互换算法

⌚Time: 2021-11-16 23:26:41

👨‍💻Author: Jack Ge

题目:

有两个16位数值A=0x1234,B=0xABCD,要求实现它们的低八位互换操作

思路:

完成位操作,需要用到c语言中的位运算符。c语言中6中位运算符介绍:

对于本题可以使用'&'运算符将a的低八位置0,使用'|'运算符将b的低八位赋值给a的低八位,对于b也是同理

实现:


#include<stdio.h>

int main(){

    int A,B,C,D,E;



    A=0x1234;

    B=0XABCD;

    C=0X00FF;

    D=0X00FF;

    E=0XFF00;



    printf("\noriginal:\nA:%x\nB:%x\n",A,B);



    C&=A;   //取A的低八位

    D&=B;   //取B的低八位

    A&=E;   //A的低八位置0

    B&=E;   //B的低八位置0

    A|=D;   //给A的低八位赋值

    B|=C;   //给B的低八位赋值



    printf("\nnow:\nA:%x\nB:%x\n",A,B);



    return 0;

}


结果: