C语言16位拆成高低八位,和高低八位合成16位数据(1)

#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;
}
  • 17
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值