想实现的合约功能:address(uint160(uint256(keccak256(data))));
uint256这个步骤的结果是:79877015141907363163491858808961649055441649173890591412945755900581091402136
合约中uint256强转uint160结果是:618422437003223517566768319887535941755707515288
对应Java的有哪些方法可以操作呢。 使用右移方法小额数可以进行操作,大额的用BigInteger.shiftRight()计算和合约不一致。
BigInteger bigInteger2 = BigInteger.valueOf(65535);
long h = bigInteger2.longValue() >>> 8;
BigInteger bigInteger1 = uint256.shiftRight(100);
如何在Java中将uint256强转uint160呢,最后在将uint160转换为address