日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

原码、反码、补码,以及负数的位操作

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原码、反码、补码,以及负数的位操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、

原碼將符號(hào)位數(shù)碼化了的數(shù),其中+”用0表示,“-”用1表示。

反碼正數(shù)的反碼表示與原碼表示一樣;負(fù)數(shù)的反碼表示是原碼表示的符號(hào)位不變,數(shù)值位逐位取反。

補(bǔ)碼正數(shù)的補(bǔ)碼表示與原碼表示一樣;負(fù)數(shù)的補(bǔ)碼表示是原碼表示的符號(hào)位不變,數(shù)值位逐位取反后最低位加1(反碼表示最低位加1)。

例:(假如以八位二進(jìn)制表示)

[+63] ?=0011 ?1111 ??????=0011 ?1111 ????????補(bǔ)=0011 ?1111

[-63] ??=1011 ?1111 ??????=1100 ?0000 ????????補(bǔ)=1100 ?0001


2、負(fù)數(shù)的位操作(以與為例)

(1)計(jì)算機(jī)中,無論正數(shù)還是負(fù)數(shù),都是以其補(bǔ)碼形式存儲(chǔ)的;

(2)如果位操作后的結(jié)果最高位為“1”,說明它是負(fù)數(shù)的補(bǔ)碼,轉(zhuǎn)化為實(shí)際的整數(shù)時(shí)要逆操作,即-1(減一)后保持最高位不變?cè)偃》础?/p>

(3)一個(gè)數(shù)(如b)的相反數(shù)(-b)的補(bǔ)碼,等于該數(shù)的補(bǔ)碼取反,然后加1。

比如:

-5 ?原碼=1000 0101 ? ? 反碼=1111 1010 ? ? 補(bǔ)碼=1111 1011

5 ? 原碼=0000 0101 ? ? 反碼=0000 0101 ? ?補(bǔ)碼=0000 0101?

可以進(jìn)一步發(fā)現(xiàn),-5 & 5 = 0000 0001,同理 -6 & 6 = 0000 0010,-7 & 7 =0000 0001……

這是一個(gè)很有用的性質(zhì),即返回(某個(gè)數(shù)的絕對(duì)值,如-6的絕對(duì)值是6)的(二進(jìn)制表示的,6的二進(jìn)制表示是0000 0110)從右往左第一個(gè)為1(第一位為1)的所表示的整數(shù)(0000 0010)。 ? ??

總結(jié)

以上是生活随笔為你收集整理的原码、反码、补码,以及负数的位操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。