C語言16位拆成高低八位,和高低八位合成16位資料(1)
阿新 • • 發佈:2019-02-02
#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
size_number = sizeof (number);
size_right = sizeof(right);
size_left = sizeof(left);
size_temp = sizeof(temp);
printf("size_number=%d個位元組\n",size_number);
printf("size_left=%d個位元組\n",size_left);
printf("size_right=%d個位元組\n",size_right);
printf("size_temp=%d個位元組\n",temp);
printf("number=%d\n" ,number);
right = number&0XFF;//低八位
left = number>>8;//高八位
printf("right = %d\n",right);
printf("left = %d\n",left);
printf("number_two=%d\n",left*256+right);
//前取高八位,在取低八位
left=(number>>8)&0XFF; //先取高八位
right=number&0XFF; //再取第八位
printf("number_two=%d\n" ,left*256+right);
//現在要把高八位和第八位合併
number_three=left;
number_three<<=8;
number_three|=right;
printf("number_three=%d",number_three);
return 0;
}