负数用补码表示,符号扩展。具体情况可看芯片资料。TH中的数带C左移(事先要保存TH,不可覆盖)C为1则为负,0为正。若为负则把TH、TL看做一个十六位的数取反,再加1 。则得到负数的绝对值。为正则无操作。写入的时候也是取反,再加1,就得到补码。正数无操作。
数据类型用有符号数啊 读取时机器认为都是正的,可是你可以根据最高位来判断正负的。