[單項(xiàng)選擇題] 執(zhí)行下面程序后,結(jié)果是 public class Testrr { public static void main(String a
[單項(xiàng)選擇題] 執(zhí)行下面程序后,結(jié)果是 public class Testrr { public static void main(String args[]){ int i=0xFFFFFFF1; int j=-i; System.out.println("j="+j); } }
A.j=-15
B.j=-16
C.j=16
D.j=15
正確答案:D
參考解析:【命題目的】考查負(fù)數(shù)在計(jì)算機(jī)中的表示方法。【解題要點(diǎn)】①負(fù)數(shù)在計(jì)算機(jī)中的表示形式是采用補(bǔ)碼形式的。所謂補(bǔ)碼:一般用十六位二進(jìn)制來(lái)表示一個(gè)補(bǔ)碼,二進(jìn)制的第一位是符號(hào)位,剩下的十五位是數(shù)值位。如果數(shù)是正數(shù),符號(hào)位取0,然后用本身的二進(jìn)制作為這個(gè)數(shù)的數(shù)值位;如果是負(fù)數(shù),符號(hào)位取 1,然后把本身的二進(jìn)制碼每位取反,然后在末尾加一,便得這個(gè)數(shù)的數(shù)值位。②題目中給的int i=0xFFFFFFF1;用一個(gè)十六進(jìn)制的數(shù)來(lái)表示二進(jìn)制數(shù),其二進(jìn)制是1111 1111 1111 0001,這樣看是一個(gè)負(fù)數(shù)的補(bǔ)碼,還原十進(jìn)制,得0000 0000 0000 1111,是-15。③題目中要求輸出i得負(fù)數(shù)得int型,這樣肯定是15。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。