java實(shí)現(xiàn)整數(shù)反轉(zhuǎn) 求負(fù)數(shù)的補(bǔ)碼時(shí)按位取反再加一是什么意思?
求負(fù)數(shù)的補(bǔ)碼時(shí)按位取反再加一是什么意思?Java使用補(bǔ)碼來表示二進(jìn)制數(shù),在補(bǔ)碼表示中,最高位為符號(hào)位,正數(shù)的符號(hào)位為0,負(fù)數(shù)為1。補(bǔ)碼的規(guī)定如下:對(duì)正數(shù)來說,最高位為0,其余各位代表數(shù)值本身(以二進(jìn)制
求負(fù)數(shù)的補(bǔ)碼時(shí)按位取反再加一是什么意思?
Java使用補(bǔ)碼來表示二進(jìn)制數(shù),在補(bǔ)碼表示中,最高位為符號(hào)位,正數(shù)的符號(hào)位為0,負(fù)數(shù)為1。補(bǔ)碼的規(guī)定如下:對(duì)正數(shù)來說,最高位為0,其余各位代表數(shù)值本身(以二進(jìn)制表示),如 42的補(bǔ)碼為00101010。對(duì)負(fù)數(shù)而言,把該數(shù)絕對(duì)值的補(bǔ)碼按位取反,然后對(duì)整個(gè)數(shù)加1,即得該數(shù)的補(bǔ)碼。如-42的補(bǔ)碼為11010110(00101010按位取反11010101 1即11010110)用補(bǔ)碼來表示數(shù),0的補(bǔ)碼是唯一的,都為00000000。(而在原碼,反碼表示中, 0和-0的表示是不唯一的,可參見相應(yīng)的書籍)。而且可以用111111表示-1的補(bǔ)(這也是補(bǔ)碼與原碼和反碼的區(qū)別)。