问一个位操作的有关问题

问一个位操作的问题举个例子main(){long aint b,c}现在我要让a的高字节等于b,a的低字节等于c,该怎么写?[

问一个位操作的问题
举个例子
main(){
  long a;
  int b,c;
}
现在我要让a的高字节等于b,a的低字节等于c,该怎么写?

[解决办法]
如果你的平台long是32位,int是16位的话可以
long e=a&(~0<<16);
b=e>>16;
long f=a&(~0>>16);
c=f;