在Java / Groovy中从固定位宽扩展的符号

时间:2016-10-15 14:32:34

标签: java groovy bit-manipulation twos-complement

我想在Groovy(或Java当然)中将12位数字扩展为32位。我可以在C / C ++等中找到各种配方,但不能用于Groovy / Java - 有人可以给我一个算法或代码片段吗?

1 个答案:

答案 0 :(得分:0)

感谢@harold:

 (x << 20) >> 20 or (x ^ 0x800) - 0x800, whichever you like best/is more   convenient. The first is easier to understand but it rarely gives further possibilities for simplification