我想要实现下面的功能
希望哪位大侠能够写出来
给一个32位的十六进制的数据 比如说是0xff,0xff,0xff,0xff.先把这写数字整体左移三位 (就是乘上0x08 ) 然后得到的数字低38位异或上溢出的数(也就是除了低38位的数)
麻烦哪位大侠把这个算法用c语言写出来。包括一些变量的定义。小弟多谢了 嘿嘿
希望哪位大侠能够写出来
给一个32位的十六进制的数据 比如说是0xff,0xff,0xff,0xff.先把这写数字整体左移三位 (就是乘上0x08 ) 然后得到的数字低38位异或上溢出的数(也就是除了低38位的数)
麻烦哪位大侠把这个算法用c语言写出来。包括一些变量的定义。小弟多谢了 嘿嘿
int a=0xfabcd123;//你随便写
int b=a&0xe0000000;//把最高的三位取出放到b中.
b>>>=28; //把最高的三位移到最低的三位中.
a<<=3; //a左移三位.
int c =a^b; //结果放到c中.
int b=a&0xe0000000;//把最高的三位取出放到b中.
b>>>=29; //把最高的三位移到最低的三位中.
a<<=3; //a左移三位.
a=a&0x0fffff //取a的低28位,还放在a中.
int c =a^b; //结果放到c中.