已知BigInteger a = new BigInteger("9999"); BigInteger b = a.pow(5).add(new BigInteger("100")).not(); 若尝试调用b.longValueExact(),结果是什么?

答案解析

核心考点:BigInteger的幂运算、位运算及溢出处理 解题思路分析: 1. a.pow(5)计算9999^5,结果远超Long.MAX_VALUE 2. add(100)进一步增大数值 3. not()方法对二进制补码按位取反,符号位变化可能导致负值 4. longValueExact()要求数值在long范围内,否则抛出异常 选项分析: A错误:描述的是longValue()的行为 B正确:数值超出long范围必定抛出异常 C错误:混淆了not操作结果与数值关系 D错误:BigInteger不存在高位截断机制 易错点:未考虑not()可能改变数值符号但不影响数值范围
正确答案:B
随机推荐
开始刷题