計(jì)算機(jī)對(duì)有符號(hào)數(shù)(包括浮點(diǎn)數(shù))的表示有三種方法:原碼刷喜、反碼和補(bǔ)碼残制,反碼=原碼按位取反 補(bǔ)碼=反碼+1。 移碼為補(bǔ)碼取反吱肌。
在二進(jìn)制里痘拆,是用0和1來表示正負(fù)的,最高位為符號(hào)位氮墨,最高位為1代表負(fù)數(shù)纺蛆,最高位為0代表正數(shù)。
對(duì)于負(fù)數(shù)而言规揪,是以補(bǔ)碼的形式存儲(chǔ)在內(nèi)存中的桥氏。以-8(int)為例,
第一步:將-8的絕對(duì)值轉(zhuǎn)化為二進(jìn)制 0000 1000
第二步:將上面的二進(jìn)制以反碼表示 1111 0001
第三步:轉(zhuǎn)化為補(bǔ)碼 11111111 11111111 11111111 11110010 因?yàn)閕nt是四個(gè)字節(jié)猛铅。這個(gè)二進(jìn)制的值可以通過Integer.toBinaryString()來獲取字支。