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