unsigned 和 signed 之间的转化赋值非常容易被弄错,例如经典的 (-1)和 0xFFFFFFFF比较。如下: unsigned short i = -1; if (0xFFFFFFFF == i) { ..... ; /* this will not be executed forever ! */ }鉴于经常被弄错,我现在总结一下,转化规则,有几个情形:1.同位宽,同符号2.同位宽,不同符号,这个情况,就是几条mov dword [xxxx],xxxx 语句,所以操作的必然就是机器数,-1 即为 0xFFFFFFFF; 因此我们发现,不论是 : un... Read More
posted @ 2013-10-12 01:11 moon_cat Views(1746) Comments(0) Diggs(0) Edit