在周志明的《深入理解java虚拟机》一书中,有以下内容:

但我用程序测试出现了不一样的结果,具体代码如下:
public static void testCast(){
double num = -2147483649.25;
int i = (int) num;
System.out.println(i);
}
程序输出`-2147483648`。
按照书中描述,超过目标类型表述范围,会根据符号转化为最大或最小正数。最小正数应该是0吧,跟`-2147483648`结果有冲突。所以书中描述是否有问题?把最小整数打成了最小正数?如果是最小整数就说的通了。