var I: Integer; begin //Integer 类型是4字节(32位)有符号整数, 最高位是符号位, 如果是正数, 符号位是 0、负数的符号位是1 //所以 Integer 的最大值是: 01111111 11111111 11111111 111111112 asm mov I, 01111111111111111111111111111111B; end; ShowMessage(IntToStr(I)); {2147483647} //有符号整数的负数等于相同正数的反码 + 1; Integer 最大值是: //01111111 11111111 11111111 111111112; 其反码是: //10000000 00000000 00000000 000000002; 反码 + 1 以后是: //10000000 00000000 00000000 000000012 asm mov I, 10000000000000000000000000000001B; end; ShowMessage(IntToStr(I)); {-2147483647} //那 Integer 的最小值是多少呢? //应该是: 10000000 00000000 00000000 000000002 asm mov I, 10000000000000000000000000000000B; end; ShowMessage(IntToStr(I)); {-2147483648} //11111111 11111111 11111111 111111112 是? asm mov I, 11111111111111111111111111111111B; end; ShowMessage(IntToStr(I)); {-1} //Integer 类型的 0 在内存中是: 00000000 00000000 00000000 000000002 asm mov I, 00000000000000000000000000000000B; end; ShowMessage(IntToStr(I)); {0} //Integer 类型的 10010 的二进制是: 00000000 00000000 00000000 011001002 asm mov I, 00000000000000000000000001100100B; end; ShowMessage(IntToStr(I)); {100} //算 Integer 类型的 -10010: //00000000 00000000 00000000 01100100 的反码是: //11111111 11111111 11111111 10011011 ; 反码 + 1 以后是: //11111111 11111111 11111111 10011100 asm mov I, 11111111111111111111111110011100B; end; ShowMessage(IntToStr(I)); {-100} end;