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

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://m.shnenglu.com/goal00001111/

 

posted on 2010-09-23 19:04 王秋林 閱讀(437) 評論(0)  編輯 收藏 引用
<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>
            国产精品毛片高清在线完整版| 香蕉乱码成人久久天堂爱免费| 久久综合一区二区| 午夜精品一区二区三区电影天堂| 一二美女精品欧洲| 亚洲影院免费观看| 欧美一区二区三区免费在线看| 欧美一区二区三区日韩视频| 欧美一级大片在线观看| 久久精品国产一区二区电影| 媚黑女一区二区| 欧美日韩日本国产亚洲在线| 国产精品免费电影| 伊人成人网在线看| 99精品欧美| 久久er精品视频| 欧美国产日韩一区二区| 亚洲精品视频免费在线观看| 一区二区三区免费看| 欧美一区二区三区在线| 欧美大片免费久久精品三p | 国产伦精品一区二区三| 极品尤物av久久免费看| 亚洲精品免费看| 新狼窝色av性久久久久久| 免费成人黄色| 在线一区二区日韩| 老司机精品导航| 国产精品美女主播| 亚洲精品中文字幕有码专区| 欧美一区二区三区视频| 亚洲大片精品永久免费| 日韩视频免费观看高清在线视频 | 久久国产精品久久久久久电车| 嫩草成人www欧美| 国产日韩欧美综合精品| 一区二区三区福利| 男女av一区三区二区色多| 亚洲永久免费av| 欧美人与性动交cc0o| 在线电影欧美日韩一区二区私密| 亚洲欧美日韩国产综合精品二区| 欧美高清自拍一区| 午夜久久黄色| 国产精品外国| 欧美成人中文| 亚洲欧美资源在线| 欧美视频你懂的| 一本久久知道综合久久| 欧美激情一区二区三区在线视频| 午夜天堂精品久久久久| 国产精品毛片a∨一区二区三区|国 | 欧美激情视频一区二区三区不卡| 午夜精品久久| 国产精品美女久久久免费| 亚洲综合首页| aa日韩免费精品视频一| 欧美日韩亚洲激情| 亚洲性视频网址| 亚洲精一区二区三区| 欧美精品三级日韩久久| 亚洲精品一区在线观看| 欧美黄色大片网站| 老鸭窝毛片一区二区三区| 亚洲国产精品成人综合色在线婷婷| 久久久无码精品亚洲日韩按摩| 亚洲免费视频在线观看| 国产伦一区二区三区色一情| 欧美一区二区成人6969| 午夜精品久久久久久久白皮肤| 国产精品一级| 久久免费国产精品1| 久久久精品2019中文字幕神马| 狠狠色狠狠色综合人人| 麻豆精品在线视频| 女仆av观看一区| 中国亚洲黄色| 亚洲欧美日韩一区二区在线| 韩国女主播一区二区三区| 免费观看日韩av| 欧美大尺度在线观看| 亚洲视频第一页| 午夜精品一区二区三区电影天堂| 黄色精品一区| 91久久国产自产拍夜夜嗨| 欧美日韩大片一区二区三区| 亚洲欧美一区二区三区极速播放| 欧美一级二级三级蜜桃| 亚洲经典在线看| 中文高清一区| 悠悠资源网亚洲青| 亚洲美女黄色| 极品尤物av久久免费看| 一区二区三区偷拍| 影音欧美亚洲| 一区二区三区日韩在线观看| 黄色成人av网站| 日韩午夜电影| 精品动漫一区二区| 一本久久a久久免费精品不卡| 国产曰批免费观看久久久| 亚洲精品一区二| 激情久久一区| 国产午夜精品一区二区三区欧美| 亚洲午夜电影在线观看| 韩日视频一区| 亚洲免费观看| 亚洲国产精品久久久久婷婷老年| aa国产精品| 亚洲精品免费电影| 欧美诱惑福利视频| 亚洲午夜精品一区二区| 久久久亚洲综合| 午夜久久一区| 欧美黑人国产人伦爽爽爽| 久久久人成影片一区二区三区观看 | 亚洲男人天堂2024| 日韩视频一区二区三区| 久久久久久999| 亚洲女性裸体视频| 欧美剧在线免费观看网站| 你懂的国产精品永久在线| 国产欧美综合一区二区三区| 最新亚洲激情| 亚洲精品国久久99热| 久久久久久久久久久久久久一区| 性欧美xxxx大乳国产app| 欧美午夜影院| 在线视频免费在线观看一区二区| 亚洲乱码一区二区| 久久蜜臀精品av| 蜜臀av性久久久久蜜臀aⅴ| 国产一在线精品一区在线观看| 午夜精品久久久久久久久久久久| 亚洲午夜av电影| 欧美日韩成人一区二区| 最新日韩精品| 中文在线一区| 欧美少妇一区| 亚洲图中文字幕| 欧美一级午夜免费电影| 国产欧美在线视频| 久久精品成人一区二区三区蜜臀 | 久久精品国产清高在天天线| 久久本道综合色狠狠五月| 国产精品亚洲视频| 亚洲视频一起| 欧美伊人久久大香线蕉综合69| 国产精品久久毛片a| 亚洲香蕉在线观看| 欧美中文日韩| 在线免费日韩片| 欧美理论视频| 亚洲视频欧洲视频| 久久久久久国产精品mv| 一区在线视频| 欧美精品久久一区| 亚洲午夜激情网页| 久久午夜电影| 亚洲精品午夜| 国产精品午夜av在线| 久久视频在线免费观看| 亚洲激情在线| 久久成人在线| 免费视频最近日韩| 久久久久国色av免费看影院| 原创国产精品91| 欧美激情综合色综合啪啪| 亚洲视频精品| 欧美成人精精品一区二区频| 在线视频中文亚洲| 国产日韩亚洲欧美精品| 免费的成人av| 亚洲一区制服诱惑| 免费看黄裸体一级大秀欧美| 中文亚洲欧美| 伊人久久婷婷色综合98网| 欧美日韩一区二区视频在线| 久久av二区| 在线一区二区视频| 欧美成在线观看| 午夜在线电影亚洲一区| 亚洲国产欧美日韩精品| 国产精品一区一区| 欧美黄色影院| 久久久久久久久蜜桃| 中文在线一区| 亚洲激情欧美激情| 久久综合狠狠综合久久激情| 亚洲在线观看视频网站| 亚洲高清三级视频| 国产亚洲午夜| 国产精品v片在线观看不卡| 国产精品日韩二区| 欧美精品在线一区二区三区| 久久国内精品自在自线400部| 亚洲免费大片| 亚洲日本中文字幕| 亚洲电影激情视频网站| 蜜臀a∨国产成人精品|