基礎練習 十六進位制轉八進位制
問題描述
給定n個十六進位制正整數,輸出它們對應的八進位制數。
輸入格式
輸入的第一行為一個正整數n (1<=n<=10)。
接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。
輸出格式
輸出n行,每行為輸入對應的八進位制正整數。
【注意】
輸入的十六進位制數不會有前導0,比如012A。
輸出的八進位制數也不能有前導0。
樣例輸入
2
39
123ABC
樣例輸出
71
給定n個十六進位制正整數,輸出它們對應的八進位制數。
輸入格式
輸入的第一行為一個正整數n (1<=n<=10)。
接下來n行,每行一個由0~9、大寫字母A~F組成的字串,表示要轉換的十六進位制正整數,每個十六進位制數長度不超過100000。
輸出格式
輸出n行,每行為輸入對應的八進位制正整數。
【注意】
輸入的十六進位制數不會有前導0,比如012A。
輸出的八進位制數也不能有前導0。
樣例輸入
2
39
123ABC
樣例輸出
71
4435274
#include<bits/stdc++.h>
using namespace std;
#define maxn 100000*10
int aa[1000];
int a[maxn];
int b[maxn];
char s[maxn];
int l;
void xxx(int x){
for(int j=0;j<4;j++){
a[l++]=x%2;
//cout<<a[l-1]<<endl;
x=x/2;
}
}
int main(){
int n;
cin>>n;
while(n--){
s[0]='\0';
memset(b,0,sizeof(b));
memset(a,0,sizeof(a));
cin>>s;
l=0;
int len=strlen(s);
for(int j=len-1;j>=0;j--){
int z;
if(s[j]>='0'&&s[j]<='9'){
z=s[j]-'0';
}
else{
z=s[j]-'A'+10;
}
xxx(z);
}
int cnt=1,x=0,k=0;
for(int i=0;i<l;i++)
{
if(cnt==4||i==l-1)
{
x+=cnt*a[i];
cnt=1;
b[k++]=x;
x=0;
}
else
{
x+=cnt*(a[i]);
cnt*=2;
}
}
while(b[k]==0&&k>=0){
k--;
}
if(k<0) printf("0");
else{
for(int j=k;j>=0;j--){
cout<<b[j];
}
}
cout<<endl;
}
}
相關文章
- 藍橋杯 基礎練習 十六進位制轉八進位制
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- 十六進位制轉換為八進位制
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- 進位制詳解:二進位制、八進位制和十六進位制
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 十進位制——二 (八、十六 )進位制
- 整數轉化成八進位制、十六進位制、二進位制,以及轉回
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 十進位制轉十六進位制
- Qt進位制轉換(十進位制轉十六進位制)QT
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 八進位制,十六進位制和浮點數
- JavaScript十六進位制和八進位制字面量JavaScript
- 十六進位制數轉十進位制
- C語言十進位制,八進位制,十六進位制輸出分析C語言
- 二進位制、十進位制與十六進位制相互轉化
- 十六進位制轉換為十進位制
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 【進位制轉換】十進位制與十六進位制相互轉換方法
- 遞迴函式實現十進位制正整數轉換為二進位制,八進位制,十六進位制遞迴函式
- [MSSQL]將十進位制轉成十六進位制SQL
- php中RGB轉十六進位制、十六進位制轉RGBPHP
- 進位制數轉換方法(八/十六/十)
- Go語言實現十進位制轉換成二、八、十六進位制Go
- js將數字轉換為二進位制、十六進位制或者八進位制程式碼JS
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- (轉)【iOS 開發】二進位制、十進位制、十六進位制相互轉換的方法iOS
- 遞迴-進位制轉換器(十六進位制以內)遞迴
- Oracle中十進位制與十六進位制轉換程式Oracle