11:25老師的原話:只需要找出這個(gè)正數(shù)的補(bǔ)碼、通過對這個(gè)正數(shù)的補(bǔ)碼二進(jìn)制進(jìn)行計(jì)算就可以得到....
(正數(shù)的原碼、反碼、補(bǔ)碼都一樣)
原碼的定義好像有點(diǎn)兒牽強(qiáng),后面反碼的求法也和我們大學(xué)老師講的IEEE754標(biāo)準(zhǔn)不一樣/
11:25老師的原話:只需要找出這個(gè)正數(shù)的補(bǔ)碼、通過對這個(gè)正數(shù)的補(bǔ)碼二進(jìn)制進(jìn)行計(jì)算就可以得到....
(正數(shù)的原碼、反碼、補(bǔ)碼都一樣)
原碼的定義好像有點(diǎn)兒牽強(qiáng),后面反碼的求法也和我們大學(xué)老師講的IEEE754標(biāo)準(zhǔn)不一樣/
2014-10-06
舉報(bào)
2014-10-09
這個(gè)問題提的很好,歡迎大家拍磚
需要說明的的是:上面講的:
(1)反碼是二進(jìn)制數(shù)的反碼,不是整數(shù)的反碼;
(2)數(shù)在計(jì)算機(jī)中的表示形式可以是補(bǔ)碼、原碼、反碼,但是負(fù)數(shù)采用了其正數(shù)的補(bǔ)碼形式表示。詳細(xì)如下:
一、原碼 反碼 補(bǔ)碼都是指的數(shù)的一種二進(jìn)制表示形式,
因此整數(shù)的表示方式有三種:原碼 反碼 補(bǔ)碼
例如:5的原碼00000000 00000000 00000000 00000101
11111111 11111111 11111111 11111010是(原碼)00000000 00000000 00000000 00000101的反碼,不是(整數(shù))5的反碼
5的反碼表示形式是00000000 00000000 00000000 00000101,是根據(jù)定義(正數(shù)的補(bǔ)碼和原碼一樣)來的,無法改變的。
-5 在計(jì)算機(jī)中表達(dá)為:11111111 11111111 11111111 11111011(以其正數(shù)的補(bǔ)碼形式表示)轉(zhuǎn)換為十六進(jìn)制:0xFFFFFFFB。
而-5的原碼是10000000 00000000 00000000 00000101
上面講的都是32bit的。
再說明個(gè)一個(gè)字節(jié)(8bit)的例子
+7的原碼為: 00000111 ? ?+7的反碼為:00000111 ?+7的補(bǔ)碼為: 00000111
-7的原碼為: 10000111 ??-7的反碼為: 11111000 ?-7的補(bǔ)碼為: 11111001
-7在計(jì)算機(jī)中的二進(jìn)制是如何表示呢,根據(jù)定義負(fù)數(shù)以其正數(shù)的補(bǔ)碼形式表示 過程如下:
原碼00000111->(二進(jìn)制的,不是7的)反碼11111000->補(bǔ)碼11111001,就是-7的補(bǔ)碼形式