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 include int main for int j i 1 j 0 j printf d bin j printf n c語言程式設計題 從鍵盤輸入一個十進位制數,將其轉換為二進位制 八進位制和十六進位制數,並同時輸出。這題非常簡單,你要學過資料結構就非常容易 我用個棧來幫你做 此棧資料項為整型,... 10進位制的43 轉換為二進位制為00101011 八進位制為53 十六進位制為2b計算 43 2 21.121 2 10.0倒敘 10101143 8 5.3倒敘 5343 16 2.1111在十六進位制中表示為b所以為2b擴充套件資料 10進位制數轉換成二進位制數,這是一個連續除以2的過程 把要... bin i n 2 n 2 for i 31 i 0 i cout endl return 0 用c 輸入一個十進位制數,將其轉換為二進位制數輸出。十進位制數轉換為二進位制數的 為 include iostream include bitset int main 擴充套件資源 中所使用的庫函式 bi...c語言程式輸入十進位制數將其轉換為二進位制
請將十進位制數333轉換為二進位制 八進位制和十六制數?
幫忙寫c程式把十進位制數轉換為二進位制數然後輸出