matengfei
攻人之過勿太嚴,要思其堪受;教人以善勿過高,要令其可從。
級別: 論壇先鋒
|
把D0里的數據255進行取反之后怎么會是-256,而不是-65280。把D0以十六位二進制展開前八位是1,后八位是0,取反后前八位是1,后八位是0。這樣把后八位的數值加起來是65280,又最高位是符號位所以為-65280。不知哪里錯了,求高手指教。 |
---|---|
|
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員
|
255的二進制表示方法為:0000 0000 1111 1111 執行了CML后,其值為 1111 1111 0000 0000 256的二進制表示方法為:0000 0001 0000 0000 負數,在PC中表示為其正數的補碼,也就是反碼+1 256的反碼為:1111 1110 1111 1111 那么補碼就是反碼+1,也就是1111 1111 0000 0000。 16位符號數據能表示的值域為-32768~+32767,那又怎么可能表達為-65280呢? Good Luck~ |
---|---|
|