引用 value 的各个字节

[复制链接]
lium 发表于 2020-10-11 21:09 | 显示全部楼层

是啊,Tobyte 或 byte 没有实际的意义,我是想能不能用两个关键字表示其中的单个字节,用一个关键字表示整体,形式如:
Value_2  Value.2  Value(2)  Value[2]  ----引用单个字节
value ----引用整体
guoyt 发表于 2020-10-11 21:14 | 显示全部楼层

用联合体,然后:
#define value     value.dw   
#define value_0 value.byte.b0
#define value_1 value.byte.b1
#define value_2 value.byte.b2
#define value_3 value.byte.b3
不就可以满足要求了嘛。
hanwe 发表于 2020-10-11 21:18 | 显示全部楼层
void function(unsigned long value)
{
      value_0=value&&0x0001;
value_1=value&0x0010;
value_2=value&0x0100;
value_3=value&0x1000;
llia 发表于 2020-10-11 21:24 | 显示全部楼层
#define get_u8_0(x)  ((U8*)&x)[0]
#define get_u8_1(x)  ((U8*)&x)[1]
#define get_u8_2(x)  ((U8*)&x)[2]
#define get_u8_3(x)  ((U8*)&x)[3]


U32 test = 0x12345678;

U8 a,b,c,d;

a = get_u8_0(test); // 0x12
b = get_u8_1(test); // 0x34
c = get_u8_2(test); // 0x56
d = get_u8_3(test); // 0x78

以上结果针对KEIL C51
 楼主| yufe 发表于 2020-10-11 21:29 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部