What makes signed integers behave differently?
- by 000
In this example of x86_64 hex/disassembled code I see:
48B80000000000000000 mov rax, 0x0
Signed Byte 52
Unsigned Byte 52
Signed Short 14388
Unsigned Short 14388
Signed Int 943863860
Unsigned Int 943863860
Signed Int64 3472328296363079732
Unsigned Int64 3472328296363079732
Float 4.630555e-05
Double 1.39804332763832e-76
String 48B80000000000000000
which to me appears to have the same functionality as:
48C7C000000000 mov rax, 0x0
48C7C000000000
Signed Byte 52
Unsigned Byte 52
Signed Short 14388
Unsigned Short 14388
Signed Int 927152180
Unsigned Int 927152180
Signed Int64 3472328377950746676
Unsigned Int64 3472328377950746676
Float 1.163599e-05
Double 1.39806836023098e-76
String 48C7C000000000
How is the first example treated differently from the second example?