十六进制转换为八进制的算法,十六进制转化为二进制
提示:文章写好后,可以自动生成目录。如何生成,请参考右边的帮助文档。
文章的前言是十六进制转换成八进制2,使用步骤。1.导入库的输出结果总结如下。前言来自蓝桥杯,要求十六进制转换成八进制。思路是先把十六进制转换成二进制,再把二进制转换成八进制。
http://lx.lanqiao.cn/problem.page? gpid=d 2249
提示:以下是本文的主要内容,以下案例可供参考。
首先,十六进制转换成八进制。
二、使用步骤
1.如下介绍库代码(示例):
#包括iostream
#包括cstring
#包含stdlib.h
使用命名空间std
字符串转换(字符a) {
开关(a)
{
大小写“0”:返回“0000”;打破;
事例“1”:返回“0001”;打破;
案例“2”:返回“0010”;打破;
案例“3”:返回“0011”;打破;
案例“4”:返回“0100”;打破;
案例“5”:返回“0101”;打破;
案例“6”:返回“0110”;打破;
案例“7”:返回“0111”;打破;
事例“8”:返回“1000”;打破;
案例“9”:返回“1001”;打破;
案例“A”:返回“1010”;打破;
案例“B”:返回“1011”;打破;
事例“C”:返回“1100”;打破;
事例“D”:返回“1101”;打破;
大小写“E”:返回“1110”;打破;
事例“F”:返回“1111”;打破;
}
}
int main() {
int n;
int t=0;//定义二进制的每一位
CIN n;//此时n 10,后面直接定义的数组大小为10。
字符串十六[10];//定义一个十六进制字符串类型的数组
for(int I=0;I n;我)
{
cin十六[I];
}
for(int I=0;I n;我)
{
弦二,八;//定义二进制八位字节的字符串
for(int j=0;j十六[i]。长度();j)
{
two=trans(十六[I][j]);//读取字符串的第I个字符,转换成二进制。
}
int k=two . length()% 3;//判断二进制字符串的大小,用于补全。
如果(k==1)
{
two.insert(0, 00 );//insert函数用于在第0位之前插入字符串“00”;
}
如果(k==2)
{
two.insert(0, 0 );//原理同上。
}
while (t two.length())
{
八=(两个[t] - 0) * 4(两个[t 1] - 0) * 2(两个[t 2]- 0 ) 0);//通过数字将二进制字符串转换为八进制字符串
t=T3;//每三位转换一次。
}
if(eight[0]= 0 )//确定第一位是否为0
{
for(int k=0;k eight . length();k)
{
八[k]=八[k ^ 1];//用k位覆盖k位
}
}
cout eight endl
t=0;//设置为零
}
返回0;
}
输出结果如下
摘要
主要问题是把十六进制转换成二进制,转换成八进制就可以得到结果。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。