亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【深入淺出-JVM】(2):原碼、反碼、補(bǔ)碼

qpwoeiru96 / 2469人閱讀

摘要:正數(shù)用填補(bǔ),負(fù)數(shù)用填補(bǔ)。注不同的環(huán)境填補(bǔ)方式可能不同低位右移溢出則舍棄該位。感謝您的耐心閱讀,如果您發(fā)現(xiàn)文章中有一些沒表述清楚的,或者是不對的地方,請給我留言,您的鼓勵是作者寫作最大的動力。

計算機(jī)中有補(bǔ)碼表示 0

0 為正數(shù)

原碼 00000000 00000000 00000000 00000000
反碼 00000000 00000000 00000000 00000000    正數(shù)反碼等于原碼
補(bǔ)碼 00000000 00000000 00000000 00000000    正數(shù)補(bǔ)碼等于原碼

0 為負(fù)數(shù)
原碼 10000000 00000000 00000000 00000000
反碼 11111111 11111111 11111111 11111111 負(fù)數(shù)反碼等于原碼符號位不變,其余取反
補(bǔ)碼 00000000 00000000 00000000 00000000 負(fù)數(shù)補(bǔ)碼等于反碼+1

用補(bǔ)碼
1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]補(bǔ) + [1111 1111]補(bǔ) = [0000 0000]補(bǔ)=[0000 0000]原
用反碼
1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0

數(shù)值 原碼 反碼 補(bǔ)碼
+0 0000 0000 0000 0000 0000 0000
-0 1000 0000 1111 1111 0000 0000
補(bǔ)碼、原碼、反碼轉(zhuǎn)換

負(fù)數(shù)原碼轉(zhuǎn)補(bǔ)碼,最高位不變,其余取反,然后 +1
10000001
11111110
11111111
負(fù)數(shù)補(bǔ)碼轉(zhuǎn)原碼,最高位不變,其余取反,然后+1 補(bǔ)碼->反碼->原碼->反碼->補(bǔ)碼 ,(二進(jìn)制數(shù),先-1再取反和先取反后+1,結(jié)果一樣)
11111111
10000000
10000001

負(fù)數(shù)反碼轉(zhuǎn)原碼
符號位不變,其余取反
11111111
10000000

區(qū)別:

8位二進(jìn)制, 使用原碼或反碼表示的范圍為[-127, +127], 而使用補(bǔ)碼表示的范圍為[-128, 127].

補(bǔ)碼可以多表示一個范圍,其實是利用補(bǔ)碼 10000000 的原碼是 = -128

原碼最大的問題就是 一個數(shù)加上他的相反數(shù)不等于 0

已知補(bǔ)碼,求原碼的負(fù)數(shù)的補(bǔ)碼:符號位和數(shù)值位都取反,末位再加1

補(bǔ)碼

常用概念

左移

左移的規(guī)則只記住一點(diǎn):丟棄最高位(符號位),0補(bǔ)最低位

右移

左邊空出的位用0或者1填補(bǔ)。正數(shù)用0填補(bǔ),負(fù)數(shù)用1填補(bǔ)。注:不同的環(huán)境填補(bǔ)方式可能不同;
低位右移溢出則舍棄該位。

無符號右移

左邊空出的位用0填補(bǔ),低位右移溢出則舍棄該位。

感謝您的耐心閱讀,如果您發(fā)現(xiàn)文章中有一些沒表述清楚的,或者是不對的地方,請給我留言,您的鼓勵是作者寫作最大的動力。

作 者 : @mousycoder

原文出處 : http://mousycoder.com/thinkin...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75358.html

相關(guān)文章

  • 一文搞明白位運(yùn)算、補(bǔ)碼、反碼原碼

    摘要:我們來看一個特殊的運(yùn)算反碼反碼反碼原碼。補(bǔ)碼為了解決反碼的問題就出現(xiàn)了補(bǔ)碼。用原碼表示為用反碼表示為用補(bǔ)碼表示為,表示的補(bǔ)碼左移一位后為,該補(bǔ)碼對應(yīng)的反碼為該反碼對應(yīng)的原碼為符號位不變,其他位取反,為,表示。 在平時看各種框架的源碼的過程中,經(jīng)常會看到一些位移運(yùn)算,所以作為一個Java開發(fā)者是一定掌握位移運(yùn)算的。 正數(shù)位移運(yùn)算 Java中有三個位移運(yùn)算: :右移 >>>:無符號右移 ...

    tunny 評論0 收藏0
  • C語言中數(shù)據(jù)的存儲

    摘要:這里強(qiáng)調(diào)一下,之前講過一個操作符按位取反操作符,區(qū)別一下他倆,按位取反操作符是針對二進(jìn)制數(shù)每一位全部都取反,包括符號位。 目錄 傳統(tǒng)藝能?過渡區(qū)?正片開始?數(shù)據(jù)類...

    LeanCloud 評論0 收藏0
  • 從Java中的取反號‘~’看原碼反碼,補(bǔ)碼

    摘要:首先,存儲的是有符號數(shù),在計算機(jī)中,有符號數(shù)通常是使用補(bǔ)碼存儲的,也不例外。先來看看什么叫原碼,反碼,補(bǔ)碼。例如原反補(bǔ)原反補(bǔ)分析所以回到一開始的問題,在計算機(jī)中是以補(bǔ)碼存儲的。 緣起 一次在寫測試程序的時候,隨手對2取了一個反,當(dāng)時代碼大意如下: public static void main(String[] args) { int a = 2; Sy...

    Rainie 評論0 收藏0
  • Java位運(yùn)算符淺析

    摘要:在學(xué)習(xí)源碼中,發(fā)現(xiàn)有大量使用位運(yùn)算符,這樣做的目的是為了節(jié)約內(nèi)存開銷和加快計算效率。位運(yùn)算符,這個位代表這什么位二進(jìn)制位簡稱位,是二進(jìn)制記數(shù)系統(tǒng)中表示小于的整數(shù)的符號,一般用或表示,是具有相等概率的兩種狀態(tài)中的一種。 在學(xué)習(xí)源碼中,發(fā)現(xiàn)有大量使用位運(yùn)算符,這樣做的目的是為了節(jié)約內(nèi)存開銷和加快計算效率。 位運(yùn)算符,這個位代表這什么? 位:二進(jìn)制位簡稱位,是二進(jìn)制記數(shù)系統(tǒng)中表示小于2的整數(shù)...

    zhaofeihao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<