)//判斷向前移幾位
}for
(int i=
0;i) bi.
erase
(len2-mov,mov);}
len2=bi.
size()
;int jw=0;
int sum=0;
int cc=1;
string oc;
string k;
//從二進位制變為八進位制,是將二進位制字串從後往前
//每3位一組【不滿3位的,前面補字元'0'】,轉換成對應的十進位制字元,拼接構造
//為了簡化補字元'0'的操作,直接將二進位制字串從後往前,每3位一組,每組按照百位、十位、個位求和
//不夠3位的,由於補的是'0',所以直接無視這個操作,求和就行
for(
int i=len2-
1;i>=
0;i--
)//2進製轉換為8進製
}//cout
size()
;for
(int i=len3-
1;i>=
0;i--
)printf
("%c"
,oc[i]);
cout<
}return0;
}在不斷地尋找bug中終於過了這道題目。
另外,附上乙個簡短一些的。
#include
#include
using
namespace std;
intmain()
}int length=er.
size()
;if(length%3==
1)else
if(length%3==
2)for(
int k=
0;k)int p=0;
while
(ba[p]
=='0'
)p++
;for
(p;p
size()
;p++
) cout<
; cout<
}
藍橋杯 16進製制轉8進製
十萬位16進製制轉8進製 一 概述 在藍橋杯的練習系統解決了一道題 16進製制轉八進位制,乍一看感覺很簡單,然而提交後顯示錯誤好幾遍後才知道它的測試資料裡有乙個十萬位的16進製制數,暈.二 主要思路 根據3個十六進製制為與4個八進位制位一一對應的關係 將目標字串每三個字元一組,轉成十進位制 再直接用...
藍橋杯 基礎訓練 16進製制轉8進製
問題描述 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入格式 輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由0 9 大寫字母a f組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出格式 輸出n行,每行為輸入對應的八進位制正整數。注意 輸...
C 轉為2進製 8進製 16進製制
include include define n 8 void tobin int n,int dec void tobin2 int n,int dec intmain 看乙個例子 6轉2進製 6 2 0 6 2 3 非0 可以繼續算 3 2 1 3 2 1 非0 可以繼續算 1 2 1 1 2 ...