十六进制后按高低位分开(转)


计算9000转换成十六进制后把高低位分开赋给另外两个参数
9000的十六进制是 2328,有两个变量angle1,angle2,应该得到angle1=0x23,angle=0x28;那么怎么实现呢?
#include<stdio.h>
#include<stdlib.h>
typedef unsigned char BYTE;
int main(){
int angle = 9000;
BYTE angle1, angle2;
int tem1_angle = angle;
angle1 = BYTE(tem1_angle >> 8);
int tem2_angle = angle;
//angle2 = tem2_angle&(0xFF); 注释掉的句子可以代替其下面一句
angle2 = BYTE((tem2_angle<<24)>>24);
printf("0x%x,0x%x\n",angle1 ,angle2);
return 0;
}

 

转自:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值