C 十進位制轉其他進製

2021-09-19 04:18:55 字數 2094 閱讀 4411

c++ 十進位制轉其他進製

開發工具與關鍵技術:c++、visualstudio
在學習c++基礎過程中,接觸到進製轉換,個人想要嘗試一下用c++來寫乙個進製轉換,

這篇文章主要內容是十進位制轉其他進製,現在的進製有十六進製制、十進位制、八進位制、二進位制。

我們先來看**:

#include

#include

using namespace std;

void main()

i = i - 16 * pow(10, x);

if (i<16 * pow(10, x))

else if (i == 11 * pow(10, x))

else if (i == 12 * pow(10, x))

else if (i == 13 * pow(10, x))

else if (i == 14 * pow(10, x))

else if (i == 15 * pow(10, x))

else

}if (i < 16 * pow(10, x))

else

else if (va == 11)

else if (va == 12)

else if (va == 13)

else if (va == 14)

else if (va == 15)

else

vx = vr + vx;}}

}}else

else if (va == 11)

else if (va == 12)

else if (va == 13)

else if (va == 14)

else if (va == 15)

else }}

else

i = i - jzpow(10, x);

if (ipow(10, x))

if (i < jzpow(10, x)) }}

}cout << 「轉換之後的數為:」 << vx << endl;

} 再看一些輸出結果:

例1:轉八進位制和二進位制的例子,把它們兩個放一起一起講是因為他們用的是同樣的**

這是八進位制和二進位制的示例,輸入的是10和156,輸出結果八進位制的是12和234,二進位制的是1010和10011100,它們的**主要部分是乙個for迴圈,如上所示num代表乙個十進位制的數,jz代表要轉換的進製,宣告兩個變數va、vx,當num輸入的是10,jz輸入的是2 ,該for迴圈執行每當num>=210x時,減去2*10x,x的初始值為0,每當num<=210x時加一,va加十,直到num等於或小於2時,判斷va是否大於等於10的y次方,y的初始值為1,每當num<=2*10x時加一,若va大於等於時10的y次方時將va賦值給num,繼續迴圈,直到va小於10的y次方,將va賦值給vx然後輸出vx。

例2:十六進製制和八進位制、二進位制不同,十六進製制有a、b、c、d、e、f等字母,分別代表10、11、12、13、14、15,下面輸入和輸出結果

輸入同樣是10和156,輸出結果為a和9c,for迴圈的原理同上,不同的是因為每當十六進製制結束一輪for迴圈時都要加上判斷,判斷num是否為10、11、12、13、14、15,如果是將vx賦值為a、b、c、d、e、f等字母,再進行下輪for迴圈或結束佛如迴圈。

以上就是十進位制轉其他進製的內容,文章到此結束。

19 Go 其他進製轉十進位制

在golang中 1 二進位制 0,1,滿2進1。在golang中不能直接使用二進位制表示乙個整數,這一點沿用的c語言的特性 2 八進位制 0 7,滿8進1。以數字0開頭表示 3 十進位制 0 9,滿10進1。4 十六進製制 0 9及a f,滿16進1。以0x或0x開頭表示,此處的a f不區分大小寫...

m進製轉十進位制

題目描述 description 將m進製數n轉化成乙個十進位制數 m 16 題目保證轉換後的十進位制數 100 輸入描述 input description 共一行n和m 輸出描述 output description 共乙個數 表示m進製的n化成十進位制的數 樣例輸入 sample input ...

c 八進位制 轉 十進位制

概述 其實x進製轉十進位制的演算法都差不多,不過如果是針對於字元形式,他們卻有點不同.使用指標和陣列的形式計算,又不同.這裡演示將字元型的陣列形式的八進位制轉成十進位制 1 include 2 include 3 include 4 5 define max 10 67 初始化陣列為八進位制.8vo...