matengfei
攻人之過勿太嚴,要思其堪受;教人以善勿過高,要令其可從。
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 736 個
工控威望: 1054 點
下載積分: 2482 分
在線時間: 207(小時)
注冊時間: 2011-08-07
最后登錄: 2017-06-10
查看matengfei的 主題 / 回貼
樓主  發(fā)表于: 2012-08-27 16:18
把D0里的數(shù)據(jù)255進行取反之后怎么會是-256,而不是-65280。把D0以十六位二進制展開前八位是1,后八位是0,取反后前八位是1,后八位是0。這樣把后八位的數(shù)值加起來是65280,又最高位是符號位所以為-65280。不知哪里錯了,求高手指教。
cvlsam
富士低壓,POD(觸摸屏),PLC專賣
級別: VIP會員

精華主題: 3 篇
發(fā)帖數(shù)量: 6779 個
工控威望: 38382 點
下載積分: 4940 分
在線時間: 9546(小時)
注冊時間: 2006-09-13
最后登錄: 2025-01-09
查看cvlsam的 主題 / 回貼
1樓  發(fā)表于: 2012-08-27 17:49
255的二進制表示方法為:0000 0000 1111 1111
執(zhí)行了CML后,其值為 1111 1111 0000 0000

256的二進制表示方法為:0000 0001 0000 0000
負數(shù),在PC中表示為其正數(shù)的補碼,也就是反碼+1
256的反碼為:1111 1110 1111 1111
那么補碼就是反碼+1,也就是1111 1111 0000 0000。

16位符號數(shù)據(jù)能表示的值域為-32768~+32767,那又怎么可能表達為-65280呢?

Good Luck~