工控玩家
澧縣電氣自動化
級別: 家園常客
|
這個程序我分別監(jiān)控D0和D1 。怎么D0=-32767,D1=0我試了很多,大于32767(二進(jìn)制的15個1)的數(shù),D0都為負(fù)數(shù),D1都為0,這是為什么?望高手能給解答。 |
---|---|
|
工控玩家
澧縣電氣自動化
級別: 家園常客
|
這個問題我做了好多實驗,都沒有得出滿意的結(jié)果。誰能指點(diǎn)一下。 |
---|---|
|
工控玩家
澧縣電氣自動化
級別: 家園常客
|
我試過了,只要低“字”的最高位不為1,顯示就沒問題。這個位就不應(yīng)是符號位了呀。怎沒人發(fā)表看法呢? |
---|---|
|
王銳
向大家學(xué)習(xí)
級別: 工控俠客
|
一個數(shù)據(jù)寄存器最大值是32767 若你再加肯定為負(fù) 假設(shè)傳個-1到D0中去 那么實際D0中值應(yīng)是32767加上32768減去1的值再加上1 由于32767+1等于-32768因此還需在加1 |
---|---|
|
chenlf
級別: 家園常客
|
低“字”的最高位32位監(jiān)控時當(dāng)然不是符號位,但你把它當(dāng)成16位數(shù)來監(jiān)控它就是符號位了,低“字”的最高位為1,當(dāng)然它就是負(fù)數(shù)了。 |
---|---|
|
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主
|
D1為0,是因為設(shè)置的數(shù)還不夠大~~大于65535時就能看到D1的數(shù)值變化了。 |
---|---|
|
chenlf
級別: 家園常客
|
低“字”的最高位32位監(jiān)控時當(dāng)然不是符號位,但你把它當(dāng)成16位數(shù)來監(jiān)控它就是符號位了,低“字”的最高位為1,當(dāng)然它就是負(fù)數(shù)了。 要超過16個1,也就是11111111111后高位數(shù)才開始顯示數(shù)據(jù),低位數(shù)就是負(fù)數(shù)了。 |
---|---|
|
小蜜蜂
你讓我滾,我滾了。你讓我回來,對不起,滾遠(yuǎn)了...
級別: 論壇先鋒
|
我的監(jiān)控沒有負(fù)值,D0=32679 |
---|---|
|