[Java教程 07]原碼反碼補碼

前言

通過上一章節(jié)的內(nèi)容我們已經(jīng)掌握了不同進制間的轉(zhuǎn)化,但是我們可以發(fā)現(xiàn),我們做的都是一些正數(shù)的轉(zhuǎn)化,那在計算機中,負(fù)數(shù)如何表示與運算呢?這就不得不提一下我們計算機的“碼三少“:原碼反碼補碼了。

有符號數(shù)據(jù)表示法

在計算機內(nèi),有符號數(shù)有3種表示法:原碼、反碼和補碼。所有數(shù)據(jù)的運算都是采用補碼進行的。

原碼?就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。

反碼?正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。

補碼?正數(shù)的補碼與其原碼相同;負(fù)數(shù)的補碼是在其反碼的末位加1。

有符號數(shù)據(jù)表示法在技術(shù)算計內(nèi),有符號數(shù)據(jù)有3種表示法:原碼、反碼、補碼。原碼就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負(fù),其余位表示數(shù)值的大小。反碼正數(shù)的反碼與其原碼相同;負(fù)數(shù)的反碼是對其原碼逐位取反,但符號位除外。補碼正數(shù)的補碼與其原碼相同;負(fù)數(shù)的補碼是在其反碼的末位加1。我準(zhǔn)備用原碼、反碼、補碼分別來表示+7,-7.首先我們要得到7的二進制:111原碼:正數(shù)的原碼最高位是0.負(fù)數(shù)的原碼最高位為1.其他的數(shù)值位.符號位數(shù)值位+700000111-710000111反碼:正數(shù)的反碼與其原碼相同。負(fù)數(shù)的反碼與原碼符號位相同,數(shù)值位要取反,就是0變1,1變0.符號位數(shù)值位+700000111-711111000補碼:正數(shù)的補碼與原碼相同。負(fù)數(shù)的補碼是在反碼的基礎(chǔ)上加1.符號位數(shù)值位+700000111-711111001


呆萌鐘, 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進行授權(quán) , 完整原文請進入呆萌鐘Java基礎(chǔ)教程_08_原碼反碼補碼!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容