java中unsigned是什么意思_java中unsigned long的等价物是什么

我为我的项目编写了以下三个函数:

WORD shuffling(WORD x)

{

// WORD - 4 bytes - 32 bits

//given input - a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15- b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15

//output required - a0,b0,b7 - a8,a15,b15

x = (x & 0X0000FF00) << 8 | (x >> 8) & 0X0000FF00 | x & 0XFF0000FF;

x = (x & 0X00F000F0) << 4 | (x >> 4) & 0X00F000F0 | x & 0XF00FF00F;

x = (x & 0X0C0C0C0C) << 2 | (x >> 2) & 0X0C0C0C0C | x & 0XC3C3C3C3;

x = (x & 0X22222222) << 1 | (x >> 1) & 0X22222222 | x & 0X99999999;

return x;

}

WORD t_function(WORD n)

{

WORD t_result=0;

WORD64 var = 2*((n*n)& 0xFFFFFFFF)+n; // (n*n mod FFFFFFFF) becomes a 32-bit word

t_result = (WORD) ((var)& 0xFFFFFFFF);

return t_result;

}

WORD lfsr(WORD t_result)

{

WORD returnValue = t_result;

WORD flag = 0;

flag = returnValue & 0x80000000; // Checking if MSB is 1 or 0

// Left shift the input

returnValue = returnValue << 1;

// If MSB is 1 then XOR the reult with the primitive polynomial

if(flag > 0)

{

returnValue = returnValue ^ 0x4C11DB7;

}

return returnValue;

}

WORD – 无条件的长

此代码位于“c”中.现在我必须在java中实现它.在编译和运行代码时一切都很好.但是在这里我使用unsigned long而在java中我使用了int因为我一次只运行32位.问题是“当在java中实现结果超出int的范围时,输出被偏离,并且它将不是c代码的相同输出.是否有任何解决我的问题的方法来替换无符号长范围值在java中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值