法一:
#include<math.h>
#include<stdio.h>
#include<s检外tdlib.h>
intmain_5()
{
chararr[100];//定义一个二进制字符串数组
charnewArr[100];//定义一个八进制字符串数组
intch=0;//一个和变量
gets_s(arr);//罗底数创见也烈输入二进制数据
intlength=0;//表示二进制数组的长度
intlength_2=0;//表示八进制数组的长度
inttimes=0;//将三个字符串分一组多余的直接分一组
for(length=0;arr[length]!=‘\0’;length++);//获得二进制数据的长度
//二进制转八进制
for(八两源还收标空年inti=length-1;i>=0;i–)
{
ch+=(arr[i]-48)(int)pow(2,times);//将字符减去48变成十进制
//再乘二进制的对应次方
times++;//计数
if(tim全帮村剧制害es>=3||i==0)
{//一组超过了三个或者已经是最后一个
newArr[length_2]=ch+48;//将计算的值直接赋值进来自八进制数组
ch=0;//和变量置零
length_2++;//八进制数组的长度加一
times=0;//计数变量清零
}
}
newArr[length_2]=‘\0’;//八进制数剂只型一你厂言核渐例绝组添加结束标记
//输出八进制数据
for(inti=length_2-1;i>=0活扬入频;i–)
{
printf("%c",newArr[i]);
}
printf("(8)\n");
system(“pause”);
return0;
标签:八进制,二进制