c語言中求余運(yùn)算符 C#中按位求補(bǔ)(~)是什么意思?
C#中按位求補(bǔ)(~)是什么意思?~是一元運(yùn)算符,他對(duì)位數(shù)求反的操作!例如:操作數(shù)的結(jié)果位是1001,這是書上說的!但是我剛剛測(cè)試了它:默認(rèn)值是-2,所以inti=10回答。寫(I~1)80001顯示在
C#中按位求補(bǔ)(~)是什么意思?
~是一元運(yùn)算符,他對(duì)位數(shù)求反的操作!例如:操作數(shù)的結(jié)果位是1001,這是書上說的!但是我剛剛測(cè)試了它:默認(rèn)值是-2,所以inti=10回答。寫(I~1)8
0001顯示在頁(yè)面上,1110符號(hào)位為1 1是1010的原始代碼,轉(zhuǎn)換成十進(jìn)制的-2正數(shù)。補(bǔ)碼、補(bǔ)碼和逆是相同的,等于它自己的負(fù)數(shù)。補(bǔ)碼是:符號(hào)位是1,其余的成員是否定的,最后一位加1。相反的是:符號(hào)位是1,其余的成員取反,但最后一位不加1。也就是說,在倒數(shù)的最后一位加1就是補(bǔ)碼110011。原來的1011001100對(duì)符號(hào)位求反,而相反的1011001101對(duì)符號(hào)位逐位求反,在計(jì)算機(jī)中,數(shù)據(jù)是以補(bǔ)碼的形式存儲(chǔ)的:在n位機(jī)號(hào)中,最高的位是符號(hào)位,這意味著0是正的,1是負(fù)的;剩下的n-1位是數(shù)字位,每個(gè)位的值可以是0或1。當(dāng)真值為正時(shí),原碼、逆碼和補(bǔ)碼的值位完全相同;當(dāng)真值為負(fù)時(shí),原碼的值位保持不變,逆碼的值位與原碼的值位相反,補(bǔ)碼是反碼的最低位加1。請(qǐng)注意,符號(hào)位不會(huì)更改。例如:機(jī)器號(hào)為16位時(shí),十進(jìn)制數(shù)17的原碼、反碼、補(bǔ)碼為:1000000000010001,十進(jìn)制數(shù)-17的原碼、反碼、補(bǔ)碼為:100000000010001111111111111111111111111111111111111111111111