国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java為什么使用補(bǔ)碼進(jìn)行計(jì)算的原因分析

Java為什么使用補(bǔ)碼進(jìn)行計(jì)算的原因分析

2020-08-21 17:38diankexiaoyuan Java教程

這篇文章主要介紹了Java為什么使用補(bǔ)碼進(jìn)行計(jì)算的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我們主要要解決的問(wèn)題就是負(fù)數(shù)的表示,而眾所周知,絕對(duì)值相等的兩個(gè)正負(fù)數(shù)之和為0。

假設(shè)我們有正數(shù) 0000 0000 0000 1111,我們?nèi)绾伪硎酒湎喾磾?shù)呢?一般我們的思路是,找一個(gè)數(shù),跟它相加的結(jié)果等于0,但是我們發(fā)現(xiàn),要找出一個(gè)與它相加后結(jié)果等于0的數(shù)還是要略加思考一下的(因?yàn)橐?jì)算進(jìn)位),所以,為何不找出一個(gè)與它相加后結(jié)果是1111 1111 1111 1111的數(shù),然后該數(shù)+1即是我們所要的答案啦。

于是,很容易的, 0000 0000 0000 1111 + 1111 1111 1111 0000 + 1 = 1111 1111 1111 1111 + 1 = (1)0000 0000 0000 0000

一目了然,1111 1111 1111 0001 就是我們想要的答案了,那么我們是怎么得到這個(gè)相反數(shù)的呢?

首先,找出一個(gè)數(shù)與它加起來(lái)結(jié)果是全1的,這個(gè)數(shù)便是它的反碼,然后這個(gè)數(shù)再加1,這便是它的相反數(shù)了,也是我們說(shuō)的補(bǔ)碼。

我們檢驗(yàn)一下0的情況,0000 + 1111 + 1 =(1)0000,其中1111 + 1 = (1)0000 = 0000,即+0和-0的二進(jìn)制表示均為0000。

一個(gè)小小的例子解釋了為何補(bǔ)碼需要原碼取反之后再加1,是不是很神奇?

補(bǔ)充知識(shí):java 原碼、反碼、補(bǔ)碼計(jì)算 以及 取反(~)運(yùn)算

1. 原碼、反碼、補(bǔ)碼:

(1)在Java中,所有數(shù)據(jù)的表示方式都是以補(bǔ)碼形式來(lái)表示

(2)正數(shù):原碼、反碼、補(bǔ)碼相同

(3)負(fù)數(shù):符號(hào)位為1,其余各位是對(duì)原碼取反,然后整個(gè)數(shù)加1

(4)~按位取反(反碼加1稱(chēng)為補(bǔ)碼。)步驟就是先求出這個(gè)數(shù)(因?yàn)閖ava存的數(shù)是補(bǔ)碼)的原碼,然后對(duì)原碼取反得到X,這個(gè)X就是我們要求的那個(gè)數(shù)的補(bǔ)碼

2. 取反(~)運(yùn)算

(1)n=37 ,二進(jìn)制數(shù)就是 100101

因?yàn)樵贘ava中,所有數(shù)據(jù)的表示方式都是以補(bǔ)碼形式來(lái)表示,如果沒(méi)有特別的說(shuō)明,Java 中的數(shù)據(jù)類(lèi)型默認(rèn)為int,int數(shù)據(jù)類(lèi)型的長(zhǎng)度為4個(gè)字節(jié),就是32bit的意思,因此,n=100101的原碼=補(bǔ)碼(因?yàn)槭钦龜?shù),所以原=補(bǔ)=反)運(yùn)算過(guò)程就是:

原碼:00000000 00000000 00000000 00100101 =37

~n(對(duì)n的原碼) 取反運(yùn)算得: 11111111 11111111 11111111 11011010 很明顯,最高位是1,意思是取反后的數(shù)字為負(fù)數(shù),負(fù)數(shù)的補(bǔ)碼是其絕對(duì)值的原碼取反,末尾再加1,因此,我們可將這個(gè)二進(jìn)制數(shù)的補(bǔ)碼進(jìn)行還原:

首先,末尾減1得反碼:11111111 11111111 11111111 11011001

其次,將各位取反得原碼:00000000 00000000 00000000 00100110 這個(gè)就是~n的絕對(duì)值形式,|~n|=38 ,

所以,~n=-38,這個(gè)就是Java虛擬機(jī)的運(yùn)算結(jié)果

(2)n= - 4, 取反 (~-4)。注意:Java中,所有數(shù)據(jù)的表示方式都是以補(bǔ)碼形式

補(bǔ)碼:10000000 00000000 00000000 00000100 (java所有數(shù)據(jù)的表示方式都是以補(bǔ)碼形式,所以把-4用二進(jìn)制表現(xiàn)出來(lái)就是某個(gè)數(shù)的補(bǔ)碼,只是我們看到的是-4)

反碼:10000000 00000000 00000000 00000011

原碼:11111111 11111111 11111111 11111100

對(duì)原碼取反:00000000 00000000 00000000 00000011 (3)

因?yàn)槭钦龜?shù),所以補(bǔ)碼等于原碼等于反碼= 3,所以~-4 = 3

以上這篇Java為什么使用補(bǔ)碼進(jìn)行計(jì)算的原因分析就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/diankexiaoyuan/article/details/52439135

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人免费在线观看视频 | 91免费视频观看 | 久久国产精品视频 | 欧美日韩国产精品一区二区 | 亚洲综合在线视频 | 亚洲一区视频 | 狠狠ri | 免费观看黄色大片 | 国产成人av网站 | 国产乱淫精品一区二区三区毛片 | 最新高清无码专区 | 天天操天天干天天插 | 亚洲精品综合 | 久久久久久亚洲av毛片大全 | 国产精品a级 | 欧美日韩91 | 青娱乐一区 | 亚洲婷婷综合网 | 精品视频在线免费观看 | 国产综合欧美 | 国产福利在线播放 | 久久精品无码一区二区三区 | 午夜私人影院 | 午夜爱 | 午夜欧美一区二区三区在线播放 | 国内自拍第一页 | 亚洲第一视频网站 | 做a视频 | 亚洲精品免费在线观看视频 | 亚洲精品成人av | 精品国产鲁一鲁一区二区在线观看 | 欧美一区二区精品 | 五月婷婷导航 | 二区三区在线观看 | 2018自拍偷拍 | 中国精品自拍 | 色综合久 | 欧美在线日韩 | 一级二级黄色大片 | 亚洲欧美日韩国产综合 | 亚洲国产欧美一区二区三区丁香婷 |