高16位和低16位的合并与提取应该怎样实现?
我现在有2个16位的数字,想先合并成32位的传递给其他地方,然后在那边获取后,分别提取出高16位和低16位的数据,该怎么做呢?
例如:
int16 a = 100;
int16 b = 200;
int32 c = a|b ?(不会写,大概就是类似的格式吧,实现将a放入c的高16位,b放入c的低16位)。
然后开始一些列的函数调用,假设到达目的地后位int32 c_dest.
再定义2个16位来存放其高地位。
int16 h = c_dest << 16;
int16 l = c_dest >> 16;
麻烦帮忙看看