青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 15,  comments - 0,  trackbacks - 0
 

 

數在計算機中是以二進制形式表示的。
數分為有符號數和無符號數。
原碼、反碼、補碼都是有符號定點數的表示方法。
一個有符號定點數的最高位為符號位,0是正,1是副。

以下都以8位整數為例,

原碼就是這個數本身的二進制形式。
例如
0000001 就是+1
1000001 就是-1

正數的反碼和補碼都是和原碼相同。

負數的反碼是將其原碼除符號位之外的各位求反
[-3]反=[10000011]反=11111100
負數的補碼是將其原碼除符號位之外的各位求反之后在末位再加1。
[-3]補=[10000011]補=11111101
一個數和它的補碼是可逆的。

為什么要設立補碼呢?

第一是為了能讓計算機執行減法:
[a-b]補=a補+(-b)補

第二個原因是為了統一正0和負0
正零:00000000
負零:10000000
這兩個數其實都是0,但他們的原碼卻有不同的表示。
但是他們的補碼是一樣的,都是00000000
特別注意,如果+1之后有進位的,要一直往前進位,包括符號位!(這和反碼是不同的!)
[10000000]補
=[10000000]反+1
=11111111+1
=(1)00000000
=00000000(最高位溢出了,符號位變成了0)

有人會問
10000000這個補碼表示的哪個數的補碼呢?
其實這是一個規定,這個數表示的是-128
所以n位補碼能表示的范圍是
-2^(n-1)到2^(n-1)-1
比n位原碼能表示的數多一個

又例:
1011
原碼:01011
反碼:01011 //正數時,反碼=原碼
補碼:01011 //正數時,補碼=原碼

-1011
原碼:11011
反碼:10100 //負數時,反碼為原碼取反
補碼:10101 //負數時,補碼為原碼取反+1

0.1101
原碼:0.1101
反碼:0.1101 //正數時,反碼=原碼
補碼:0.1101 //正數時,補碼=原碼

-0.1101
原碼:1.1101
反碼:1.0010 //負數時,反碼為原碼取反
補碼:1.0011 //負數時,補碼為原碼取反+1

在計算機內,定點數有3種表示法:原碼、反碼和補碼

所謂原碼就是前面所介紹的二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。

反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

補碼表示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

附錄:把十進制數轉換為機器碼的C++程序代碼

 #include <iostream>

using namespace std;

const int MAX = 32;

void Binary(char b[], int x); //x轉換為二進制數

void TrueForm(char b[], int x); //獲取原碼

void RadixMinus(char b[], int x); //獲取反碼

void Complement(char b[], int x); //獲取補碼

void TruthValue(char b[], int x);//獲取真值

 int main()

{

      int x = 1;

      char b[MAX+1]={0};

           cout << "十進制數:" << x << endl;

      TruthValue(b, x);//獲取真值

      cout << "真值:" << b << endl;

           TrueForm(b, x); //獲取原碼

      cout << "原碼:" << b << endl;

        RadixMinus(b, x);//獲取反碼 

      cout << "反碼:" << b << endl;

           Complement(b, x);//獲取補碼

    cout << "補碼:" << b << endl;

     cout << "十進制數:" << -x << endl;

      TruthValue(b, -x);//獲取真值

      cout << "真值:" << b << endl;

          TrueForm(b, -x); //獲取原碼

      cout << "原碼:" << b << endl;

           RadixMinus(b, -x);//獲取反碼 

      cout << "反碼:" << b << endl;

       Complement(b, -x);//獲取補碼

    cout << "補碼:" << b << endl; 

    system("pause");

    return 0;

void Binary(char b[], int x)//x轉換為二進制數

{

    for (int i=MAX-1; i>=0; i--)

    {

           b[i] = (x & 1) + '0';

           x >>= 1;

      }

      b[MAX] = '\0';

void TrueForm(char b[], int x) //獲取原碼:根據數學表達式求得

{

    if (x >= 0)

          Binary(b, x);

      else

          Binary(b, (1<<(MAX-1)) - x);

}  

void RadixMinus(char b[], int x) //獲取反碼:正數的反碼=補碼;負數的反碼=補碼-1

{

    if (x >= 0)

          Binary(b, x);

      else

          Binary(b, x - 1);

}

void Complement(char b[], int x) //獲取補:數據在計算機中以補碼形式存儲,直接轉換即可

{

    Binary(b, x);

}  

void TruthValue(char b[], int x)//獲取真值:根據原碼獲得真值

{

    TrueForm(b, x);

      b[0] = (b[0] == '0') ? '+' : '-';  

}

參考文獻:

1Boater的博客:《反碼和補碼技術是怎樣被提出的?》

http://blog.tianya.cn/blogger/post_show.asp?BlogID=227218&PostID=7046448

2goal00001111發帖:《閑扯原碼,補碼和反碼

http://www.shnenglu.com/goal00001111/

 

posted on 2010-09-23 19:04 王秋林 閱讀(444) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2010年9月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

常用鏈接

留言簿(1)

隨筆檔案(15)

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一区二区三区毛片| 亚洲一区二区毛片| 久久人人爽国产| 欧美一区影院| 1000部国产精品成人观看| 老色批av在线精品| 久久在线免费视频| 99视频有精品| 在线视频日本亚洲性| 国产精品免费aⅴ片在线观看| 亚洲一区二区高清视频| 午夜精品久久久久久久久久久| 国产视频一区欧美| 欧美成人免费在线| 欧美日韩在线另类| 久久av在线| 蜜臀a∨国产成人精品 | 亚洲欧美日韩一区二区三区在线观看 | 国产欧美日韩一区| 久久久夜色精品亚洲| 麻豆精品视频在线| 亚洲欧美亚洲| 久久综合九色综合欧美就去吻| 99精品国产高清一区二区| 亚洲尤物视频网| 亚洲黄色性网站| 亚洲一区二区三区在线看| 经典三级久久| 亚洲网站在线| 最近中文字幕日韩精品| 亚洲制服av| 亚洲美女在线观看| 欧美一区二区三区免费观看视频| 亚洲人成网站在线播| 性久久久久久久久久久久| 亚洲美女视频在线观看| 欧美一级片在线播放| 99热在这里有精品免费| 久久精品亚洲国产奇米99| 在线亚洲自拍| 牛牛国产精品| 国产精品高清网站| 麻豆国产va免费精品高清在线| 欧美三级网页| 亚洲国内自拍| 国产一区二区欧美日韩| 亚洲精品视频在线观看网站| 极品日韩av| 亚洲女爱视频在线| 亚洲网站啪啪| 欧美福利一区| 欧美激情a∨在线视频播放| 国产综合久久久久久| 亚洲一区二区动漫| 亚洲社区在线观看| 欧美黄色影院| 亚洲风情亚aⅴ在线发布| 尤物九九久久国产精品的特点| 亚洲午夜在线| 亚洲一区图片| 国产精品久久久久影院亚瑟| 亚洲精品你懂的| 亚洲三级视频| 欧美第一黄色网| 亚洲国产视频一区| 亚洲精品国产无天堂网2021| 美女黄网久久| 欧美激情精品久久久久久大尺度| 黄色精品网站| 久久深夜福利免费观看| 免费在线观看精品| 影音先锋亚洲视频| 久久只有精品| 亚洲国产精品久久久久秋霞不卡| 亚洲黄色影院| 欧美大片在线看| 亚洲精品资源| 亚洲一级网站| 国产欧美日本在线| 久久精品盗摄| 亚洲成人自拍视频| 国产精品久久福利| 亚洲欧美福利一区二区| 久久精品国产视频| 亚洲大片免费看| 欧美大片在线观看一区| 亚洲美女视频在线观看| 亚洲国产精品久久91精品| 欧美va天堂在线| 日韩一区二区久久| 久久成人18免费观看| 狠狠色丁香婷婷综合影院| 欧美高清在线观看| 亚洲午夜一二三区视频| 久久久综合香蕉尹人综合网| 亚洲黄一区二区三区| 欧美性久久久| 久久在精品线影院精品国产| 亚洲精品综合精品自拍| 久久国产精品一区二区三区四区| 亚洲第一久久影院| 欧美午夜精品久久久久久浪潮| 欧美一区二区三区在线看| 欧美风情在线| 欧美一区网站| 一区二区三区**美女毛片| 国产私拍一区| 欧美日韩不卡在线| 久久久国产成人精品| 日韩亚洲欧美成人一区| 久久亚洲精品一区| 国产综合视频| 欧美视频一区在线| 久久综合狠狠综合久久激情| 亚洲无限av看| 亚洲国产精品一区二区久 | 在线观看亚洲a| 国产精品成人观看视频国产奇米| 久久久久.com| 亚洲欧美日韩国产精品| 亚洲人成在线观看一区二区| 久久亚洲影音av资源网| 亚洲永久精品大片| 亚洲精品一二区| 在线观看三级视频欧美| 国产精品一区二区女厕厕| 欧美日本中文字幕| 免费在线成人| 麻豆国产va免费精品高清在线| 亚洲欧美日韩一区二区| 一区二区三区日韩欧美精品| 91久久综合| 欧美激情中文不卡| 欧美成人免费观看| 久久综合福利| 久久久久综合网| 久久精品视频导航| 久久福利电影| 欧美亚洲视频| 欧美尤物一区| 久久精品视频在线播放| 久久精品国产99国产精品| 性久久久久久| 久久国产精品久久精品国产| 欧美一激情一区二区三区| 性8sex亚洲区入口| 欧美一二三视频| 久久久久久久波多野高潮日日| 性欧美18~19sex高清播放| 午夜精品理论片| 午夜伦欧美伦电影理论片| 欧美一区网站| 久久久人人人| 欧美电影免费观看大全| 欧美激情一区二区在线| 亚洲茄子视频| 一区二区三区国产盗摄| 亚洲欧美日韩国产一区| 欧美在线观看你懂的| 久久九九免费| 欧美激情一区二区三区在线| 欧美日韩一二区| 国产精品一卡二| 在线观看福利一区| 99精品久久久| 欧美一级电影久久| 蜜臀久久99精品久久久画质超高清 | 在线视频国产日韩| 亚洲精品之草原avav久久| 亚洲曰本av电影| 久久久综合网站| 亚洲激情偷拍| 亚洲专区国产精品| 免费成人在线视频网站| 国产精品99一区二区| 狠狠色狠色综合曰曰| 9人人澡人人爽人人精品| 午夜欧美不卡精品aaaaa| 快射av在线播放一区| 亚洲美女毛片| 久久久噜噜噜久久久| 欧美性大战久久久久久久| 韩国av一区二区三区四区| 99re6这里只有精品| 久久九九免费| 亚洲麻豆国产自偷在线| 欧美一区二区私人影院日本| 欧美国产日产韩国视频| 国产亚洲精品激情久久| 日韩图片一区| 久久人人97超碰人人澡爱香蕉| 亚洲人成啪啪网站| 久久久久一区二区| 国产精品盗摄久久久| 亚洲第一毛片| 久久精品在线观看| 亚洲视频精品在线| 欧美激情欧美狂野欧美精品| 激情偷拍久久| 久久电影一区|