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

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 王秋林 閱讀(443) 評論(0)  編輯 收藏 引用

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


<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

留言簿(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>
            欧美mv日韩mv国产网站app| 亚洲国产精品成人精品| 一区二区av在线| 欧美日韩另类综合| 亚洲香蕉网站| 亚洲永久在线观看| 国产日韩欧美不卡在线| 久久久99免费视频| 久久五月激情| 日韩午夜免费视频| 亚洲午夜国产一区99re久久| 国产精品入口夜色视频大尺度 | 99国产成+人+综合+亚洲欧美| 亚洲黄色在线观看| 国产精品xnxxcom| 久久精品国产欧美激情| 久久亚洲精品一区| 亚洲视频一区| 欧美一区二区三区四区高清| 在线日韩av片| 99精品国产在热久久婷婷| 国产精品久久久久久久电影| 久久免费视频在线| 欧美精品18+| 久久久久88色偷偷免费| 美女图片一区二区| 亚洲欧美综合另类中字| 美女999久久久精品视频| 一本色道久久88综合日韩精品| 亚洲视频在线播放| 亚洲人久久久| 欧美在线播放高清精品| 一本色道久久综合狠狠躁篇的优点| 亚洲综合色激情五月| 亚洲精品乱码久久久久久久久| 亚洲一区二区网站| 一本色道久久综合| 蜜臀av国产精品久久久久| 亚洲欧美综合| 欧美日在线观看| 欧美高清在线一区二区| 国产日韩欧美另类| 一区二区三区www| 亚洲精品自在久久| 欧美一区二区三区在线| 亚洲制服av| 欧美电影在线观看完整版| 久久人人超碰| 国产亚洲欧美一区二区| 一区二区av| 亚洲先锋成人| 欧美日韩麻豆| 亚洲精品一区二区三区av| 91久久极品少妇xxxxⅹ软件| 欧美一区永久视频免费观看| 亚洲欧美日韩在线观看a三区| 欧美精品成人一区二区在线观看| 久久亚洲精品网站| 韩国成人理伦片免费播放| 亚洲综合视频网| 欧美一级专区免费大片| 国产精品亚洲精品| 亚洲欧美卡通另类91av| 亚洲免费中文| 国产精品入口日韩视频大尺度| 国产精品99久久久久久久vr| 亚洲天堂免费观看| 欧美日韩一区二区视频在线| 99综合视频| 亚洲综合色丁香婷婷六月图片| 欧美日韩午夜激情| 亚洲最快最全在线视频| 亚洲一区中文| 国产女主播一区二区| 性亚洲最疯狂xxxx高清| 久久女同精品一区二区| 伊人婷婷欧美激情| 麻豆91精品| 亚洲精品九九| 午夜在线a亚洲v天堂网2018| 国产精品丝袜xxxxxxx| 性欧美1819性猛交| 欧美gay视频| 99国产精品| 国产精品嫩草影院av蜜臀| 亚洲欧美日韩视频二区| 久热成人在线视频| 亚洲美女黄网| 国产精品视频网| 久久天堂av综合合色| 亚洲二区视频| 西西人体一区二区| 在线观看一区二区精品视频| 欧美黑人多人双交| 亚洲视频1区2区| 久久亚洲精品欧美| 一区二区三区四区国产| 国产日韩欧美不卡| 欧美国产精品v| 性久久久久久久久久久久| 欧美风情在线| 亚洲欧美亚洲| 亚洲精品一二| 国产亚洲精品一区二区| 欧美国产日韩xxxxx| 亚洲在线播放电影| 欧美激情视频给我| 欧美一区二区三区在线| 亚洲精品影院| 国产一区深夜福利| 欧美三区不卡| 麻豆精品精品国产自在97香蕉| 在线午夜精品| 亚洲人成人77777线观看| 久久aⅴ乱码一区二区三区| 亚洲精品影视| 激情久久久久久久| 国产日韩欧美中文| 欧美日韩妖精视频| 欧美成人按摩| 久久精品视频在线看| 亚洲一区二区三区视频播放| 欧美激情国产日韩| 另类图片综合电影| 久久国产日韩欧美| 亚洲淫片在线视频| 一本色道久久综合精品竹菊| 亚洲国产欧美一区二区三区同亚洲 | 欧美国产日韩在线观看| 久久精品国产欧美亚洲人人爽| 妖精成人www高清在线观看| 欧美成年人视频| 久久精品在线| 欧美一区二区三区视频免费| 亚洲网友自拍| 一区二区三区成人精品| 日韩一级黄色大片| 亚洲精品视频一区| 亚洲精品日韩激情在线电影| 1769国产精品| 影音先锋另类| 亚洲成人自拍视频| 亚洲国产精品国自产拍av秋霞| 一区视频在线| 在线视频国内自拍亚洲视频| 精品成人久久| 亚洲福利在线视频| 激情综合视频| 亚洲高清在线播放| 亚洲人久久久| 亚洲深夜福利| 亚洲欧美视频在线观看| 欧美一区二区视频在线观看| 午夜在线a亚洲v天堂网2018| 久久大综合网| 老司机成人网| 欧美激情精品久久久久久变态| 亚洲福利av| 亚洲少妇中出一区| 午夜伦欧美伦电影理论片| 久久国产综合精品| 久久综合亚洲社区| 欧美日本高清| 国产老女人精品毛片久久| 国产一区二区三区视频在线观看| 一区二区三区中文在线观看| 亚洲激情视频在线观看| 亚洲视频每日更新| 久久精品日韩欧美| 欧美国内亚洲| 亚洲天堂av图片| 久久精品日韩| 欧美日韩一二三四五区| 国产日韩欧美精品综合| 亚洲人成艺术| 欧美一区二区三区视频在线观看 | 美玉足脚交一区二区三区图片| 欧美91视频| 99国产精品| 久久国产免费| 欧美日本韩国一区| 国产精品影音先锋| 亚洲精品久久视频| 欧美一区二区视频在线观看| 欧美高清日韩| 亚洲欧美激情一区二区| 欧美极品在线播放| 国产综合视频| 亚洲欧美成人一区二区在线电影| 久久久人成影片一区二区三区| 亚洲黄色毛片| 久久精品国产综合| 国产精品v欧美精品v日韩| 亚洲激情欧美| 久久综合99re88久久爱| 亚洲午夜在线观看| 欧美日产国产成人免费图片| 激情偷拍久久| 久久精品中文字幕一区| 在线一区二区视频|