在計(jì)算機(jī)中是以一個(gè)字節(jié)儲存的,那么 5是 00000101 -5 就是10000101 這樣我們很容易理解,但是為了參加運(yùn)算,計(jì)算機(jī)中常常是以補(bǔ)碼的形式儲存的,即取反+1(符號位不變). 今天看人說為什么負(fù)數(shù)的補(bǔ)碼最高位一定是1,其實(shí)很容易解釋,00000001-01111111 是表示正數(shù)的,從1000000-11111111是表示負(fù)數(shù)的儲存的,那么你說最高位是不是一定是1. 至于補(bǔ)碼是怎么回事,看那么理論其實(shí)很饒口難以理解.其實(shí)你這樣想下 5+(-5)=0 (0有2中情況會出現(xiàn),正常為0還有益處數(shù)據(jù)為0) 正數(shù)和負(fù)數(shù)儲存的數(shù)相加怎么變?yōu)?肯定是用益處,當(dāng)數(shù)值等于256那么數(shù)據(jù)益處低位剛好全為0, 你知道5的2進(jìn)制表示,那么你想想既然+起來是00000000 那么-5的直就出來了,再想想那個(gè)補(bǔ)碼法則,取反后加起來運(yùn)算肯定是11111111然后在加1就變成0了,其實(shí)我門常常使用的是便于直觀的正數(shù)最高位換 成1就是負(fù)數(shù)的原碼,實(shí)際存儲到數(shù)據(jù)寄存器中就自動(dòng)以補(bǔ)碼形式儲存為的就是便于計(jì)算機(jī)運(yùn)算. 說錯(cuò)了應(yīng)該是為了便于計(jì)算機(jī)運(yùn)算才提出補(bǔ)碼這個(gè)定義.
向高手學(xué)習(xí)。。。
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |