輸入十進位制數,用C語言輸出其原碼補碼反碼移碼(十進位制數可

2021-04-21 06:27:12 字數 3052 閱讀 2853

1樓:du知道君

#include

#include

void main()

if (n>=0)

用c語言,輸入乙個十進位制數,輸出相應的二進位制32位原碼、補碼、反碼、移碼和ieee754浮點數。 70

2樓:司馬刀劍

#include

#include

void main()

if (n>=0)

3樓:沙里波特

輸入乙個數字,既要用原碼反碼...顯示,又用ieee754浮點數顯示?

不像話。

c語言程式題,任意輸入乙個整數,編乙個程式,使其輸出輸出相應的原碼、反碼及補碼。

4樓:豚胖

#include

#include

void main()

if (n>=0)

5樓:匿名使用者

#include

#include "math.h"

main()

else

a[0]=0;

for(i=31; i>0; --i)

printf("原碼是:\n");

for(i=0; i<32; ++i)

}printf("\n");

printf("反碼是: \n");

if(s>0)}}

else

if(i%4==3)}}

printf("\n");

printf("補碼是:\n");

if(s>0)

}else

}for(i=0;i<32;i++)

}getch();}

原碼,反碼,補碼和移碼: 原碼:1001101,反碼,補碼,移碼各是多少?

6樓:

解:首位數字表示正負不做變(1為負數,0為正數)

反碼:1110010(正數反碼等於原數,題中為負數,則除首位數對應取反)

補碼:1110011(得出反碼數基礎上末位加一)

移碼:0110011(補碼符號位第一位數字取反)

反碼是數值儲存的一種,多應用於系統環境設定,如linux平台的目錄和檔案的預設許可權的設定umask,就是使用反碼原理。

補碼(2's complement)是一種用二進位制表示有號數的方法,也是一種將數字的正負號變號的方式。

移碼(又叫增碼)是符號位取反的補碼,一般用指數的移碼減去1來做浮點數的階碼,引入的目的是為了保證浮點數的機器零為全0。

補碼的設計目的是:

1.使符號位能與有效值部分一起參加運算,從而簡化運算規則.

2.使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計 所有這些轉換都是在計算機的最底層進行的,而在我們使用的彙編、c等其他高階語言中使用的都是原碼。

小數和分數的補碼:

1.十進位制分數補碼可以先將分子和分母分別表示成二進位制數,然後計算出二進位制小數,再按下面第三步的方法將求出小數的補碼形式。

2.十進位制小數的補碼也應該先將其轉換成二進位制小數,再按下面第三步的方法將求出小數的補碼形式。

7樓:大野瘦子

反碼:1,110010(除符號位以外,各位取反)補碼:1,110011(除符號位以外,各位取反,末位加一)移碼:

0,110011(對補碼符號位取反)注意:1、首先判斷原碼的正負,因為對於正數,其原碼、補碼反碼表示形式相同(符號位為0,數值部分與真值相同)

2、對於反碼和補碼,要區別:已知[x補],求[-x補]的題目(連同符號位各位取反,末位加一)

8樓:匿名使用者

我們考試要考(權當練習):

原碼:1,001101

=>負數

=>反碼:1,110010(除符號位以外,各位取反)=>補碼:1,110011(除符號位以外,各位取反,末位加一)=>移碼:

0,110011(對補碼符號位取反)注意點:1,首先判斷原碼的正負,因為對於正數,其原碼、補碼反碼表示形式相同(符號位為0,數值部分與真值相同)

2,對於反碼和補碼,要區別:已知[x補],求[-x補]的題目(連同符號位各位取反,末位加一)

9樓:一嘆

整數的三種碼都是一樣的,移碼的話就是加上2的n次方,負數反碼符號位不變其他位取反,補碼就是反碼再加上1。移碼加上2的n次方。

10樓:

反碼:1110010

補碼:1110011

移碼:0110011

對於負數的反碼是原碼符號位不變,其它位數取反;

補碼是反碼加一;

移碼就是在原有的補碼的基礎上對於符號取反。

11樓:合夏侯戎

這個你需要問專業人士了,不然沒人懂的的,這是***碼

12樓:匿名使用者

這是個負數,負數的反碼=它的原碼符號位不變,其他位取反。補碼=反碼+1。移碼我還沒學過,就不知道了

設計程式輸入十進位制的數,輸出對應的二進位制數的原碼,反碼,補碼

13樓:硪丨曖戀

c語言寫法:

#define _crt_secure_no_warnings#include

#include

char * to_binary_str(char * buffer, int value)

int main(void)

else

printf("\n");

}return 0;}

請寫出十進位制數-86的原碼,反碼,補碼

14樓:匿名使用者

原碼:首位符號,1負0正,其餘位為數值

反碼:正數與原碼同,負數,符號位不動,餘位取反補碼:正數同原碼,負數=反碼+1

以乙個位元組為例:

-86原=11010110

反10101001

補10101010

c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數

思路 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。即用2整除十進位制整數,可以得到一個商和餘數 再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。include stdi...

用c輸入十進位制數將其轉換為二進位制數輸出

十進位制數轉換為二進位制數的 為 include iostream include bitset int main 擴充套件資源 中所使用的庫函式 bitset c 語言的乙個類庫,用來方便地管理一系列的bit位而不用程式設計師自己來寫 bitset除了可以訪問指定下標的bit位以外,還可以把它們作...

C 設計程式輸入十進位制數輸出相應的十六進製制數設計函式實現數制轉換。用CC

文字 char d void convertdecimal2hex int num,char szhex void main 思路如此,請自己測試,convertdecimal2hex中的邏輯可以改為迴圈。36 24 78 4e 54 36 921 399 658 292 895 37f 458 1...