8位二進位制數,將其轉換為十進位制數輸出的C 問題求解

2022-03-12 10:40:24 字數 6163 閱讀 7786

1樓:鮑口恥握

/*首先要知道2轉10進位制的規則:

該位數值(1或0)乘以二的該位位數位數減一次方

比如:二進位制10,轉10進位制則是1*2^1+0*2^0

二進位制110,轉10進位制則是1*2^2+1*2^1+0*2^0

……這個程式中的power函式作用就是用於計算次方

解釋下power函式:

power(double x,int n);

比如2的3次方,則power(2,3)返回2的3次方的值

有了這個函式的話,計算2進位制轉10進位制就非常簡單了

只需要判斷8位數中的哪一位是1,是1的話就加上2的位數-1次方就可以了

比如8位二進位制是11000111

則十進位制value=power(2,7)+power(2,6)+power(2,2)+power(2,1)+power(2,0);

這個步驟可以用迴圈得到

很簡單吧

*/#include

using namespace std;

double power(double x,int ); //宣告power函式,因為power的定義在main之後,main函式要呼叫的話就必須先宣告

void main(void)

//輸出結果

cout<<"decimal calue is "<

}double power(double x,int n)

2樓:匿名使用者

#include //c++標頭檔案

using namespace std; //需要的名字空間,像本程式中的cout,cin

double power(double x,int ); //宣告數制轉換的函式

void main(void)

cout<<"decimal calue is "<

}double power(double x,int n) //定義函式

前提是知道2進位制轉10進位制的公式:只需要明白第n位數*2^(n-1)即可。如00001000可以換成0*2^7+0*2^6+0*2^5+0*2^4+1*2^3+0*2^2+0*2^1+0*2^0=8。

比較難理解的是power函式裡面的while迴圈和main裡面for迴圈,只要明白公式,對應看**,將具體數制替換變數就比較容易明白。

3樓:匿名使用者

二進位制轉十進位制的方法就是按權

=1+2+4+8+16+32+64+128=255d

power(double x,int n)函式就是用來算x^n的值的

4樓:小皓無敵

#include

using namespace std;

double power(double x,int );//函式宣告int main()

cout<<"decimal calue is "<

return 0;

}double power(double x,int n)//算出x的n次方的值

不知你看懂了沒,這是很簡單的**。要給分啊。

二進位制轉十進位制 輸入一個8位二進位制數,將其轉換為十進位制數輸出。c++程式設計

5樓:匿名使用者

#include

using namespace std;

//計算x的n次方

double power (double x, int n);

int main()

cout<<"output:\n";

cout << "decimal value is  " << value << endl;

return 0;

}/**********begin****************/double power (double x, int n){int i;

double d=1;

for(i=0;i

用c++編寫一個程式,要求輸入一個四位二進位制數,將其轉換為十六進位制數輸出。

6樓:匿名使用者

這個其實你用算的就好了,四位二進位制分別表示8421,看你二進位制數是用什麼表示了

用c++輸入一個十進位制數,將其轉換為二進位制數輸出。

7樓:匿名使用者

十進位制數轉換為二進位制數的**為:

#include 〈iostream〉

#include 〈bitset〉

int main()

擴充套件資源:**中所使用的庫函式-bitset:

c++語言的一個類庫,用來方便地管理一系列的bit位而不用程式設計師自己來寫**。

bitset除了可以訪問指定下標的bit位以外,還可以把它們作為一個整數來進行某些統計。

可以如下宣告一個該型別變數:

bitsetvarm (m)

其中varm為變數名。

n表示該型別在記憶體中佔的位數,是二進位制。

m表示變數varm的初始值。

參考資源:

8樓:大野瘦子

#include

void main()

int transfer(int x)

}return y;

}反之,二進位制轉化為十進位制

#include

using namespace std;

#include

int main()

9樓:

一、問題描述

十進位制數是指各位

數字全部由小於10的數字(0..9)組成的數值,如123、45678等。二進位制數是指各位數字全部由小於2的數字(0..

1)組成的數值,如10、1011等。將十進位制數轉換為二進位制數是將全部由小於10的數字組成的數值轉換為全部由小於2的數字組成的數值,如十進位制數100轉換為二進位制數為1100100。

二、演算法思想

將十進位制數轉換為二進位制數的演算法是採用輾轉取餘法,即將待轉換數不斷除2取餘,記錄餘數,用新的商繼續除2取餘,直到該數為零。由於餘數小於2,故所有餘陣列成的數值全部由0、1組成。再對這些餘數進行逆置即可。

//輾轉取餘

while(num > 0)

//逆置餘數列表

for(i=0; i

三、參考程式

#include

#include

#define max 33

using namespace std;

/* 十進位制數轉換為二進位制數(字串表示) */char *dectobin(long num);

int main()

for(i=0; i

四、執行測試:

10進位制數:       1234567892進位制數:        111010110111100110100010101

10樓:匿名使用者

以前上學的時候寫過的一個,你參考一下 #includeusing namespace std;

11樓:匿名使用者

#include

//十進位制數轉換成二

進位制數字

void fun_1(int n)

}//主函式

void main()

吧沒有用的刪除即可,其他的只是擴充套件.....

12樓:匿名使用者

#include void main()

{int sec(int n);

int i;

cout<<"請輸入個10進位制數:";

cin>>i;

sec(i);

cout<參考....

13樓:匿名使用者

直接用格式化輸出就可以啊

"由鍵盤輸入一個小於256的十進位制正整數,然後將該數轉換成八位的二進位制數形式輸出。"的c++程式

14樓:匿名使用者

main()

15樓:

#include "stdio.h"

int main()

else

printf("0");

i = i % j;

j = j/2;

}printf("%d", i);}

16樓:匿名使用者

#include

void tobin(char x)

for(i = 0; i < 8; i++)printf("\n");

} int main()

17樓:匿名使用者

#include

using namespace std;

int main()

cout << endl;}

使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進位制數輸出。(是c++,不是c)

18樓:匿名使用者

#include

using namespace std;

int main()

cout<十六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

}如果有不懂請追問。

19樓:支景明孔茶

確定問題沒有什麼別的要求??比如說111可以是二進位制也可以是八進位制和十六進位制。。。

20樓:匿名使用者

有一個轉換函式很好用:

char *itoa(int value, char *string, int radix);

int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等

標頭檔案: itoa操作使用

但注意:這個不是c++標準庫函式,只能在visual c++系列編譯器環境下使用

想在gcc上做的話,可以設定輸出格式,也可以自己編函式進行轉換……

21樓:匿名使用者

有輸出格式設定的,

#include

#include

int main()

c++編寫程式將十進位制數轉化為八位二進位制輸出(要求用main)

用c++輸入一個十進位制數,將其轉換為二進位制數輸出。

22樓:定榮雀霞月

一、問題描述

十進位制數是指各位數字全部由小於10的數字(0..9)組成的數值,如123、45678等。二進位制數是指各位數字全部由小於2的數字(0..

1)組成的數值,如10、1011等。將十進位制數轉換為二進位制數是將全部由小於10的數字組成的數值轉換為全部由小於2的數字組成的數值,如十進位制數100轉換為二進位制數為1100100。

二、演算法思想

將十進位制數轉換為二進位制數的演算法是採用輾轉取餘法,即將待轉換數不斷除2取餘,記錄餘數,用新的商繼續除2取餘,直到該數為零。由於餘數小於2,故所有餘陣列成的數值全部由0、1組成。再對這些餘數進行逆置即可。

//輾轉取餘

while(num > 0)

//逆置餘數列表

for(i=0; i

#include

#define max 33

using namespace std;

/* 十進位制數轉換為二進位制數(字串表示) */char *dectobin(long num);

int main()

for(i=0; i

arr[n] = '\0';

return arr;

}四、執行測試:

10進位制數: 1234567892進位制數: 111010110111100110100010101

c語言程式輸入十進位制數將其轉換為二進位制

include int main for int j i 1 j 0 j printf d bin j printf n c語言程式設計題 從鍵盤輸入一個十進位制數,將其轉換為二進位制 八進位制和十六進位制數,並同時輸出。這題非常簡單,你要學過資料結構就非常容易 我用個棧來幫你做 此棧資料項為整型,...

請將十進位制數333轉換為二進位制 八進位制和十六制數?

10進位制的43 轉換為二進位制為00101011 八進位制為53 十六進位制為2b計算 43 2 21.121 2 10.0倒敘 10101143 8 5.3倒敘 5343 16 2.1111在十六進位制中表示為b所以為2b擴充套件資料 10進位制數轉換成二進位制數,這是一個連續除以2的過程 把要...

幫忙寫c程式把十進位制數轉換為二進位制數然後輸出

bin i n 2 n 2 for i 31 i 0 i cout endl return 0 用c 輸入一個十進位制數,將其轉換為二進位制數輸出。十進位制數轉換為二進位制數的 為 include iostream include bitset int main 擴充套件資源 中所使用的庫函式 bi...