|
前面加個(gè)符號(hào)位,正的是0,負(fù)的是1,一般用逗號(hào)隔開。。如
(1,10)B=(-2)D B是二進(jìn)制 D是十進(jìn)制
數(shù)的表示有三種:原碼,反碼,補(bǔ)碼
具體的網(wǎng)上都能查的。 我簡(jiǎn)要說(shuō)下,一看就能懂
正數(shù)的三種都是一樣的,即符號(hào)位是0,后面照抄。
負(fù)數(shù)的原碼就是自己;反碼,就是除了符號(hào)位的1,后面1、0互換。補(bǔ)碼就是反碼再加1.
e.g.-5 原碼 1,101
反碼 1,010
補(bǔ)碼 1,011
做減法涉及到負(fù)數(shù),就用后兩種。小學(xué)的時(shí)候,你就知道減法能變成加法,加上相反數(shù),二進(jìn)制一樣的。只要注意你一個(gè)算式中只能采用一種碼制,不能混。如果你用了反碼,那么最后結(jié)果再取反,就可以了。
比如 101-111.我們用補(bǔ)碼做。正數(shù)的補(bǔ)碼是他本身
0,101+1,001=1,110
再取補(bǔ)(反碼+1)就是1,010 就是十進(jìn)制里面的-2,對(duì)吧。。
還有注意,符號(hào)位(就是逗號(hào))對(duì)齊,后面沒(méi)有的位用0補(bǔ)齊。。這個(gè)你能自己理解吧。如果逗號(hào)前有進(jìn)位,只看逗號(hào)前那個(gè)是0還是1,是0就是正的,1就是負(fù)的,切記,只看逗號(hào)前面那個(gè)數(shù)。
拿char型變量來(lái)說(shuō),它的范圍是-128(0x80)~+127(0x7f);
-127的原碼為1,1111111
反碼 1,0000000
補(bǔ)碼 1,0000001(0x81)
計(jì)算機(jī)中,負(fù)數(shù)一般以以補(bǔ)碼的形式表示
|
|