取高八位与低八位,高八位与低八位合并

在这里插入图片描述
这些操作都是针对于二进制位而言的算法, >>8 表示的是右移8位(就相当于去掉了低八位) &表示的是按位与 ( 将数值转化为二进制进行与操作 ) 0xff是两位的十六进制相当于全是 1 的 8 位二进制数, 运算结果就是低八位

c语言

#include <stdio.h>
#include <stdlib.h>
char right,left,temp;//right表示第八位,left表示高八位
int size_right,size_left,size_temp;
short int number,size_number;
short int number_two,number_three;
//int 是四个字节 short int 是两个字节
int main()
{
    
    
    number =32343; //65536个数范围是 -32768-32767
    right = number&0XFF;//低八位
    left = number>>8;//高八位

    // 前取高八位,在取低八位
    left=(number>>8)&0XFF; //先取高八位
    right=number&0XFF;     //再取第八位

    // 现在要把高八位和第八位合并
    number_three=left;
    number_three<<=8;
    number_three|=right;
    printf("number_three=%d",number_three);
    return 0;
}

c#语言

int a = 1023;
int right = a & 0x00ff;  // 低八位
int left = a >> 8;       // 高八位

int number_three = left;
number_three <<= 8;
number_three |= right;

MessageBox.Show(number_three.ToString());

猜你喜欢

转载自blog.csdn.net/weixin_40639095/article/details/113184337
今日推荐