128位的整形数据转换成32位的int 如何弄 多谢啦
128位的整形数据转换成32位的int 怎么弄 谢谢啦
我现在要处理的输入数据是经过特定的编码器编码过的128位的整形数据,处理程序是要求用C写,而且要兼容一般的编译器,一般编译器里面的整形int都是32位,请问有谁知道怎么解决这个问题,C里面没有截取操作,该怎么来把这128位的数据,分解出来,放在4个32int中呢,真是急死了,谢谢大家啦
------解决方案--------------------
参考我blog中的大数运算,用结构体保存。
------解决方案--------------------
不清楚你的这个128位是怎么存储的,
不过可以考虑用位运算实现,像下面这样,
其中INT128是你的128位整数类型.
我现在要处理的输入数据是经过特定的编码器编码过的128位的整形数据,处理程序是要求用C写,而且要兼容一般的编译器,一般编译器里面的整形int都是32位,请问有谁知道怎么解决这个问题,C里面没有截取操作,该怎么来把这128位的数据,分解出来,放在4个32int中呢,真是急死了,谢谢大家啦
------解决方案--------------------
参考我blog中的大数运算,用结构体保存。
------解决方案--------------------
不清楚你的这个128位是怎么存储的,
不过可以考虑用位运算实现,像下面这样,
其中INT128是你的128位整数类型.
- C/C++ code
void cut128(INT128 input,int output[4]) { output[0] = input>>96; output[1] = input>>64&0xffffffff; output[2] = input>>32&0xffffffff; output[3] = input&0xffffffff; return; }