今天給兒子講計算機中的“原碼-反碼-補碼”,講這個知識點前,總得講講為什麼要學這個,就和他大概說了下:計算機的電路沒有像我們人的頭腦一樣“加減乘除”都能一下子做出來,計算機最終要換成這個“加”的“電路”來完成各種計算。因為之前學過一些二進制、ASCII碼,他也能點點頭了解個大概。
背景講完後,準備講“原碼-反碼-補碼”。可是書本上都是文字描述比較繁瑣,看得我也都有點亂。所以,就用PPT把各種情況列了出來,這樣就清晰多了。
1、對于正數,符号位都是0,其原碼、反碼、補碼的數值位都是真值本身;
2、對于負數,符号位都是1,其原碼的數值位是真值本身,反碼是各位取反;補碼是各位取反後最低位再加1;
如下圖片,我用不同顔色底色标記,其實很容易看出負數的反碼和補碼在做計算時和其他不一緻。
原碼、反碼、補碼
理解了正、負數在計算機裡的表示,再來講講0,就很能理解了。首先,因為有符号位,則必然有正和負,所以0也有 0和-0;
[ 0]原=00000000 [ 0]反=00000000 [ 0]補=00000000
[ 0]原=10000000 [-0]反=11111111 [ 0]補=00000000
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!