ARM写程序~~关于二进制数高低位赋值问题

usr_src 2009-10-01 01:39:23
如果有一个两个变量data1和data2,有一个16位的二进制数,要将高八位赋给data1,低八位赋给data2,怎么实现?
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cychen1984 2009-10-20
  • 打赏
  • 举报
回复
int i = 0x1234,low,high;
low = i & 0xff;
high = i >> 8;
cychen1984 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cricketol 的回复:]
C/C++ code

U16 val=0x1234;
U8 data1, data2;
data1= val>>8;//mov low 8 bits in val to data1data2= (U8)val;//mov high 8 bits in val to data2
[/Quote]
有问题啊,data1= val>>8;//为0x12, 明明是高位,另外大数端,小数端不分?
iamqk 2009-10-02
  • 打赏
  • 举报
回复
移位操作
Cricketol 2009-10-02
  • 打赏
  • 举报
回复


U16 val = 0x1234;
U8 data1, data2;
data1 = val>>8; //mov low 8 bits in val to data1
data2 = (U8)val; //mov high 8 bits in val to data2

2,161

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 UNIX文化
社区管理员
  • UNIX文化社区
  • 文天大人
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧