53魔力发布网,提供最好最新的开机信息

查看完整版本: 初学 Delphi 嵌入汇编[20] - Delphi 的 Integer 类型

妖哥 2008-4-8 20:53

初学 Delphi 嵌入汇编[20] - Delphi 的 Integer 类型

[b][color=#000080]var[/color][/b]
  I: Integer;
[b][color=#000080]begin[/color][/b]
[color=#008000] //Integer 类型是4字节(32位)有符号整数, 最高位是符号位, 如果是正数, 符号位是 0、负数的符号位是1
[/color] [color=#008000] //所以 Integer 的最大值是: 01111111 11111111 11111111 111111112
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 01111111111111111111111111111111B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{2147483647}[/color]


[color=#008000] //有符号整数的负数等于相同正数的反码 + 1; Integer 最大值是:
[/color] [color=#008000] //01111111 11111111 11111111 111111112; 其反码是:     
[/color] [color=#008000] //10000000 00000000 00000000 000000002; 反码 + 1 以后是:
[/color] [color=#008000] //10000000 00000000 00000000 000000012
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 10000000000000000000000000000001B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{-2147483647}[/color]


[color=#008000] //那 Integer 的最小值是多少呢?
[/color] [color=#008000] //应该是: 10000000 00000000 00000000 000000002
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 10000000000000000000000000000000B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{-2147483648}[/color]


[color=#008000] //11111111 11111111 11111111 111111112 是?
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 11111111111111111111111111111111B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{-1}[/color]


[color=#008000] //Integer 类型的 0 在内存中是: 00000000 00000000 00000000 000000002
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 00000000000000000000000000000000B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{0}[/color]


[color=#008000] //Integer 类型的 10010 的二进制是: 00000000 00000000 00000000 011001002
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 00000000000000000000000001100100B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{100}[/color]


[color=#008000] //算 Integer 类型的 -10010:
[/color] [color=#008000] //00000000 00000000 00000000 01100100 的反码是:
[/color] [color=#008000] //11111111 11111111 11111111 10011011 ; 反码 + 1 以后是:
[/color] [color=#008000] //11111111 11111111 11111111 10011100
[/color]  [b][color=#000080]asm[/color][/b]
    mov I, 11111111111111111111111110011100B;
  [b][color=#000080]end[/color][/b];
  ShowMessage(IntToStr(I)); [color=#008000]{-100}[/color]
[b][color=#000080]end[/color][/b];
页: [1]
查看完整版本: 初学 Delphi 嵌入汇编[20] - Delphi 的 Integer 类型
妖城魔力欢迎您