日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

C++ 十进制转其他进制

發(fā)布時間:2025/3/15 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 十进制转其他进制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

C++ 十進(jìn)制轉(zhuǎn)其他進(jìn)制

開發(fā)工具與關(guān)鍵技術(shù):C++、VisualStudio 作者:何任賢 撰寫時間:2019年04月10日

在學(xué)習(xí)C++基礎(chǔ)過程中,接觸到進(jìn)制轉(zhuǎn)換,個人想要嘗試一下用C++來寫一個進(jìn)制轉(zhuǎn)換,
這篇文章主要內(nèi)容是十進(jìn)制轉(zhuǎn)其他進(jìn)制,現(xiàn)在的進(jìn)制有十六進(jìn)制、十進(jìn)制、八進(jìn)制、二進(jìn)制。
我們先來看代碼:
#include
#include
using namespace std;
void main() {
int NUM,JZ;
int x = 0;
int y = 1;
int va = 0;
string vx = “”;
string vr = “”;
cout << “請輸入一個十進(jìn)制的數(shù):”;
cin >> NUM;
cout << “請輸入要轉(zhuǎn)換的進(jìn)制:”;
cin >> JZ;
if (JZ == 16) {
if (NUM >= 16) {
for (int i = NUM; i >= 16 * pow(10, x); ) {
if (i >= 16 * pow(10, x)) { va = va + 1 * pow(10, y); }
i = i - 16 * pow(10, x);
if (i<16 * pow(10, x)) {
if (i == 10 * pow(10, x)) { vx = “A” + vx; }
else if (i == 11 * pow(10, x)) { vx = “B” + vx; }
else if (i == 12 * pow(10, x)) { vx = “C” + vx; }
else if (i == 13 * pow(10, x)) { vx = “D” + vx; }
else if (i == 14 * pow(10, x)) { vx = “E” + vx; }
else if (i == 15 * pow(10, x)) { vx = “F” + vx; }
else { vx =to_string(i) + vx; }
}
if (i < 16 * pow(10, x)) {
if (va >= 16 * pow(10, y)) {
y++; x++; i = va; va = 0;
}
else {
x = vx.size();
va = va / pow(10, x);
if (va == 10) { vr = “A”; }
else if (va == 11) { vr = “B”; }
else if (va == 12) { vr = “C”; }
else if (va == 13) { vr = “D”; }
else if (va == 14) { vr = “E”; }
else if (va == 15) { vr = “F”; }
else { vr = to_string(va); }
vx = vr + vx;
}
}
}
}
else {
va = NUM;
if (va == 10) { vx = “A”; }
else if (va == 11) { vx = “B”; }
else if (va == 12) { vx = “C”; }
else if (va == 13) { vx = “D”; }
else if (va == 14) { vx = “E”; }
else if (va == 15) { vx = “F”; }
else { vx = va; }
}
}
else {
for (int i = NUM; i >= JZpow(10, x); ) {
if (i >= JZpow(10, x)) {
va = va + 1 * pow(10, y);
}
i = i - JZpow(10, x);
if (i<JZpow(10, x)) {
va = va + i;
vx = to_string(va);
}
if (i < JZpow(10, x)) {
if (va >= JZpow(10, y)) {
y++; x++; i = va; va = 0;
}
}
}
}
cout << “轉(zhuǎn)換之后的數(shù)為:” << vx << endl;
}
再看一些輸出結(jié)果:
例1:轉(zhuǎn)八進(jìn)制和二進(jìn)制的例子,把它們兩個放一起一起講是因為他們用的是同樣的代碼


這是八進(jìn)制和二進(jìn)制的示例,輸入的是10和156,輸出結(jié)果八進(jìn)制的是12和234,二進(jìn)制的是1010和10011100,它們的代碼主要部分是一個for循環(huán),如上所示NUM代表一個十進(jìn)制的數(shù),JZ代表要轉(zhuǎn)換的進(jìn)制,聲明兩個變量va、vx,當(dāng)NUM輸入的是10,JZ輸入的是2 ,該for循環(huán)執(zhí)行每當(dāng)NUM>=210x時,減去2*10x,x的初始值為0,每當(dāng)NUM<=210x時加一,va加十,直到NUM等于或小于2時,判斷va是否大于等于10的y次方,y的初始值為1,每當(dāng)NUM<=2*10x時加一,若va大于等于時10的y次方時將va賦值給NUM,繼續(xù)循環(huán),直到va小于10的y次方,將va賦值給vx然后輸出vx。

例2:十六進(jìn)制和八進(jìn)制、二進(jìn)制不同,十六進(jìn)制有A、B、C、D、E、F等字母,分別代表10、11、12、13、14、15,下面輸入和輸出結(jié)果

輸入同樣是10和156,輸出結(jié)果為A和9C,for循環(huán)的原理同上,不同的是因為每當(dāng)十六進(jìn)制結(jié)束一輪for循環(huán)時都要加上判斷,判斷NUM是否為10、11、12、13、14、15,如果是將vx賦值為A、B、C、D、E、F等字母,再進(jìn)行下輪for循環(huán)或結(jié)束佛如循環(huán)。
以上就是十進(jìn)制轉(zhuǎn)其他進(jìn)制的內(nèi)容,文章到此結(jié)束。

總結(jié)

以上是生活随笔為你收集整理的C++ 十进制转其他进制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。