有三个整数a,b,c
介于0到255之间,我必须编写一个"存储"将三个给定数字分成一个(d),另一个能够从第四个数字(d)获得前三个数字。
任何人都可以帮我吗?
答案 0 :(得分:5)
您可以使用按位移位+屏蔽来实现此目的。给定4个32位整数a
,b
,c
和d
,范围内有a
,b
和c
0..255]:
d = (a << 16) | (b << 8) | (c);
反向操作:
a = (d >> 16);
b = (d >> 8) & 255;
c = (d) & 255;