获取 Java 中位数的值范围



我需要计算一些位计数的有符号值范围。
例如:

bitscount = 4
min value = -2^3;
max value = 2^3 - 1; in bitwise it is (1<<3 - 1)

我忘记了如何按位撰写最小值。请帮忙。

minValue = -(1 << (bitscount - 1));
maxValue = (1 << (bitscount - 1)) - 1;

尝试如下:

int bits_count = 4;  // between 2 ~ 32 (I assumed int type is 32bits signed integer)
int min_value = -(1 << (bits_count - 1));
int max_value = (1 << (bits_count - 1)) - 1;

参考资料:http://www.tutorialspoint.com/java/java_bitwise_operators_examples.htm

最新更新