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