一個(gè)字=16個(gè)位,對(duì)應(yīng)1248163264128等,那么-1-2-4-8這些對(duì)應(yīng)的什么呢,是什么意思?
答:不可按“對(duì)應(yīng)1248163264128等”一概而論,樓主所言的只是對(duì)不帶符號(hào)的word數(shù)據(jù)類型。至于負(fù)數(shù)更不能套用了。
1、一個(gè)字為16個(gè)位,但一個(gè)字可以表示不同的數(shù)據(jù)類型。
word數(shù)據(jù)類型(不帶符號(hào),0~65535)與int數(shù)據(jù)類型(帶符號(hào),-32767~32768):
通常情況下word用于邏輯運(yùn)算,int用于數(shù)學(xué)運(yùn)算;
在使用梯形圖或scl等語(yǔ)言編程時(shí)區(qū)分較嚴(yán)格。
在使用語(yǔ)句表編程時(shí)系統(tǒng)不檢測(cè)數(shù)據(jù)類型是否匹配,即word與int在用法上沒(méi)有什么區(qū)別(word可做數(shù)學(xué)運(yùn)算,int也可作邏輯運(yùn)算)。
2、有關(guān)負(fù)數(shù):
負(fù)數(shù)轉(zhuǎn)換為二進(jìn)制,就是將其相反數(shù)(正數(shù))的補(bǔ)碼的每一位變反(1變0,0變1)最后將變完了的數(shù)值加1,就完成了負(fù)數(shù)的補(bǔ)碼運(yùn)算。這樣就變成了二進(jìn)制。
舉個(gè)例子:
將-1變成二進(jìn)制。
①首先確定二進(jìn)制的位數(shù),假定為16位,即可以表示-32768到32767的所有十進(jìn)制整數(shù)。
②將-1的相反數(shù),也就是1表示為二進(jìn)制0000000000000001(十六進(jìn)制表示為0x0001)
(由于四位二進(jìn)制可以表示為一位十六進(jìn)制,故一般將二進(jìn)制按四位進(jìn)行分段表示)
③將這個(gè)二進(jìn)制變反,可以得到1111111111111110(十六進(jìn)制hex表示為0xfffe)
④將變反后的數(shù)值加上1,得到-1的二進(jìn)制表示1111111111111111(十六進(jìn)制表示0xffff)