java 輸入 十進(jìn)制數(shù)-31使用8位(包括符號(hào)位)補(bǔ)碼表示時(shí),其二進(jìn)制編碼表示為?需要答題過(guò)程!O(∩_∩)O謝謝?
十進(jìn)制數(shù)-31使用8位(包括符號(hào)位)補(bǔ)碼表示時(shí),其二進(jìn)制編碼表示為?需要答題過(guò)程!O(∩_∩)O謝謝?-31:1000 0000 0001 1111沒(méi)有計(jì)算過(guò)程,即直接寫(xiě),31是11111,負(fù)數(shù)是第一
十進(jìn)制數(shù)-31使用8位(包括符號(hào)位)補(bǔ)碼表示時(shí),其二進(jìn)制編碼表示為?需要答題過(guò)程!O(∩_∩)O謝謝?
-31:1000 0000 0001 1111沒(méi)有計(jì)算過(guò)程,即直接寫(xiě),31是11111,負(fù)數(shù)是第一位是1,共32位,計(jì)算過(guò)程需要反碼,例如,5取反~5二進(jìn)制原始碼:0000 0000 0101取反運(yùn)算:1111 1111 1111 1111 1111 1111 1111 1111 1111 1010在Java中,有符號(hào)整數(shù)用補(bǔ)碼表示,補(bǔ)碼=逆11。首先找到相反的:1000 0000 01012。然后找到補(bǔ)碼:1000 0000 0110。最高的位表示符號(hào),第1位表示負(fù)數(shù),第0位表示正數(shù),所以結(jié)果是-6
不,只有有符號(hào)的數(shù)字才用補(bǔ)碼表示。例如,8位有符號(hào)數(shù)可以表示-128~127的范圍,而無(wú)符號(hào)數(shù)可以表示0~255的范圍。計(jì)算機(jī)用補(bǔ)碼來(lái)表示有符號(hào)數(shù)字中0的唯一性,它可以把減法轉(zhuǎn)換成加法。除了數(shù)字之外,計(jì)算機(jī)中還有許多其他數(shù)據(jù),例如字符,它們不是用補(bǔ)碼表示的。
計(jì)算機(jī)中的所有數(shù)據(jù)都是用補(bǔ)碼表示的嗎?
Java使用補(bǔ)碼表示二進(jìn)制數(shù)。在補(bǔ)碼表示法中,最高位是符號(hào)位,正數(shù)的符號(hào)位是0,負(fù)數(shù)是1。補(bǔ)碼如下:對(duì)于正數(shù),最高位是0,其余表示值本身(用二進(jìn)制表示)。例如,42的補(bǔ)碼是00101010。對(duì)于負(fù)數(shù),將該數(shù)的絕對(duì)值的補(bǔ)碼逐位求逆,然后將1加到整數(shù)上,得到該數(shù)的補(bǔ)碼。例如,-42的補(bǔ)碼是11010110(00101010將11010101 1位取反,即11010110),0的補(bǔ)碼是唯一的,都是100000000。(在原碼和反碼的表示中,0和-0的表示不是唯一的,請(qǐng)參閱相應(yīng)的書(shū)籍)。此外,111111可用于表示-1的補(bǔ)碼(這也是補(bǔ)碼與原始碼和逆碼之間的差異)。
求負(fù)數(shù)的補(bǔ)碼時(shí)按位取反再加一是什么意思?
1985年,IEEE(電氣與電子工程師協(xié)會(huì))提出IEEE754標(biāo)準(zhǔn)。根據(jù)二進(jìn)制的規(guī)范,最高的數(shù)字總是1,這在標(biāo)準(zhǔn)中是默認(rèn)存儲(chǔ)的,因此尾數(shù)的范圍超過(guò)一位。