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...