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

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>
            欧美性一二三区| 久久av老司机精品网站导航| 国产欧美日韩不卡| 亚洲精品1234| 久久亚洲欧美| 亚洲视频在线观看网站| 亚洲夫妻自拍| 欧美在线一二三四区| 亚洲精品美女在线| 欧美在线视频观看| 一区二区三区欧美亚洲| 欧美精品乱人伦久久久久久 | 久久综合中文色婷婷| 国产欧美精品在线观看| 999在线观看精品免费不卡网站| 麻豆成人综合网| 午夜一级久久| 免费在线亚洲欧美| 久久精品成人欧美大片古装| 国产日本亚洲高清| 欧美亚洲尤物久久| 欧美一级视频精品观看| 国产欧美69| 久久av一区二区三区漫画| 亚洲一区二区成人| 国产欧美在线视频| 久久久久久亚洲精品杨幂换脸 | 国产精品永久免费观看| 午夜精品一区二区在线观看 | 欧美国产精品一区| 一区二区三区欧美视频| 一级成人国产| 国产目拍亚洲精品99久久精品| 性欧美videos另类喷潮| 亚洲欧美中日韩| 黄色国产精品| 亚洲成人自拍视频| 欧美乱人伦中文字幕在线| 在线亚洲伦理| 欧美亚洲日本一区| 亚洲福利国产| 91久久精品www人人做人人爽| 欧美日韩激情网| 午夜在线电影亚洲一区| 久久久精品一品道一区| 亚洲精品国产精品国产自| 亚洲精品国产精品国自产观看浪潮| 欧美日韩亚洲一区二| 小嫩嫩精品导航| 久久久噜噜噜久久久| 夜夜狂射影院欧美极品| 亚洲综合首页| 91久久嫩草影院一区二区| 亚洲日本免费| 国产亚洲精品久久久| 最新热久久免费视频| 国产精品一区二区久久国产| 免费看的黄色欧美网站| 欧美日韩mv| 久久亚洲不卡| 欧美性理论片在线观看片免费| 99精品国产高清一区二区| 亚洲欧美国产日韩天堂区| 一区二区视频免费在线观看| 亚洲电影免费观看高清完整版在线| 欧美日韩亚洲高清一区二区| 久久久精品一品道一区| 一区二区三区**美女毛片| 一区二区三区在线观看视频| 日韩亚洲欧美一区二区三区| 一区二区在线视频播放| 日韩视频永久免费观看| 国产一区二区精品久久99| 亚洲精品影视| 在线观看一区| 午夜精品美女久久久久av福利| 日韩视频一区二区三区在线播放| 欧美一级电影久久| 亚洲天堂av高清| 奶水喷射视频一区| 久久漫画官网| 国产麻豆午夜三级精品| 日韩一级精品视频在线观看| 亚洲国产精品成人综合色在线婷婷| 性欧美1819性猛交| 亚洲欧美日韩综合aⅴ视频| 欧美精品v日韩精品v国产精品| 久久综合伊人| 国产视频精品网| 午夜一区在线| 羞羞色国产精品| 国产精品日韩欧美一区| 日韩午夜av| 亚洲国产一区二区三区a毛片| 久久国产精品久久精品国产| 欧美影视一区| 国产精品影视天天线| 亚洲在线观看免费视频| 亚洲欧美国产制服动漫| 欧美体内she精视频在线观看| 亚洲高清自拍| 亚洲激情成人| 美玉足脚交一区二区三区图片| 久久青草久久| 尤妮丝一区二区裸体视频| 久久精品国产免费看久久精品| 久久大逼视频| 国产丝袜美腿一区二区三区| 欧美一区二区性| 久久久欧美一区二区| 狠狠色综合色综合网络| 久久午夜精品| 亚洲高清不卡在线观看| 亚洲作爱视频| 国产精品视频一区二区高潮| 欧美一区二区三区视频在线观看| 久久精品一区四区| 一区二区三区在线免费播放| 蜜臀91精品一区二区三区| 亚洲国产精品美女| 一本色道**综合亚洲精品蜜桃冫 | 欧美亚洲综合在线| 美女久久一区| 亚洲免费观看在线视频| 欧美天天影院| 久久久久国产精品www| 1769国产精品| 欧美精品七区| 亚洲女优在线| 蜜桃av噜噜一区| 一本久道久久综合婷婷鲸鱼| 国产精品午夜在线观看| 久久久久中文| 洋洋av久久久久久久一区| 欧美一区二区三区四区高清| 激情综合自拍| 欧美视频国产精品| 久久国产精品电影| 夜夜夜久久久| 欧美 日韩 国产在线| 亚洲一区二区不卡免费| 国产曰批免费观看久久久| 欧美高清视频| 欧美成人自拍| 小黄鸭精品aⅴ导航网站入口| 亚洲国产1区| 国产精品区一区二区三区| 久久尤物视频| 亚洲欧美日韩一区在线观看| 最新日韩在线| 久久综合色影院| 亚洲一区视频在线| 在线精品在线| 国产一区二区成人久久免费影院| 欧美激情一区二区三区在线视频 | 91久久精品日日躁夜夜躁欧美| 午夜在线观看欧美| 亚洲国内自拍| 激情综合色综合久久综合| 国产精品女人久久久久久| 女生裸体视频一区二区三区| 欧美一区二视频| 亚洲视频在线观看三级| 亚洲激情一区| 欧美高清日韩| 免费在线一区二区| 久久在线视频| 久久久久天天天天| 久久国产综合精品| 先锋资源久久| 亚洲一区欧美一区| 亚洲一区二区三区四区五区午夜| 亚洲国内自拍| 亚洲激情在线观看视频免费| 亚洲成色www久久网站| 国产视频一区二区三区在线观看| 国产精品hd| 国产精品盗摄一区二区三区| 欧美精品九九99久久| 久久综合色88| 欧美fxxxxxx另类| 免费在线亚洲| 欧美日韩岛国| 国产精品视频一二| 国产亚洲精品久久久久婷婷瑜伽| 国产亚洲精品成人av久久ww| 黄色日韩精品| 激情综合自拍| 亚洲国产日本| 一本色道久久综合一区| 在线视频中文亚洲| 亚洲免费在线播放| 久久精品国产精品亚洲精品| 久久综合亚州| 91久久久亚洲精品| 一区二区欧美日韩视频| 亚洲欧美日韩精品久久| 久久久999| 欧美激情视频免费观看| 国产精品国产|