当前位置:首页 » 编程软件 » 八进位编程

八进位编程

发布时间: 2022-06-08 09:11:13

① 怎样用c语言编程让八进制转换为十进制。

.二进制与十进制的转换
(1)二进制转十进制
方法:"按权展开求和"
例:
(1011.01)2
=(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
(2)十进制转二进制
·
十进制整数转二进制数:"除以2取余,逆序输出"
例:
(89)10=(1011001)2
2
89
2
44
……
1
2
22
……
0
2
11
……
0
2
5
……
1
2
2
……
1
2
1
……
0
0
……
1
·
十进制小数转二进制数:"乘以2取整,顺序输出"
例:
(0.625)10=
(0.101)2
0.625
X
2
1.25
X
2
0.5
X
2
1.0
2.八进制与二进制的转换
例:将八进制的37.416转换成二进制数:
37

4
1
6
011
111
.100
001
110
即:(37.416)8
=(11111.10000111)2
例:将二进制的10110.0011
转换成八进制:
0
1
0
1
1
0
.
0
0
1
1
0
0
2
6
.
1
4
即:(10110.011)2
=(26.14)8
3.十六进制与二进制的转换
例:将十六进制数5DF.9
转换成二进制:
5
D
F

9
0101
1101
1111.1001
即:(5DF.9)16
=(10111011111.1001)2
例:将二进制数1100001.111
转换成十六进制:
0110
0001

1110
6
1

E
即:(1100001.111)2
=(61.E)16
参考资料:http://222.214.195.26/aoshai/szzh.htm

② 用函数编程:输入一个八进制数,用函数将其转换成相应的十进制数,并在main函数中调用该函数。

#include<stdio.h>

int o2d(char s[])

{int i,x=0;

for(i=0;s[i];i++)

if(s[i]>='0'&&s[i]<='7')x=x*8+s[i]-'0';

else

{

printf("error! ");

return -1;

}

return x;

}

int main()

{char s[20];

scanf("%s",s);

printf("%d ",o2d(s));

getch();

return 0;

}

③ 求八进制转化为十进制的c语言思路及编程

思路:对于所有的八进制数符,按乘权求和的思想就可以实现转化。

#include<stdio.h>

int main()

{int x=0,c;

printf("请输入一个八进制数:");

scanf("%c",&c);

while(c>='0'&&c<'8')

{x=x*8+c-'0';

scanf("%c",&c);

}

printf("十进制数为:%d ",x);

return 0;

}

④ C语言编程,输入十进制数输出十六进制和八进制

#include <stdio.h>
#define N 8
void tran(int num,int k)
{
int arr[N],i;
for (i=0;i <N;i++)
{
arr[i]=num%k;
num=num/k;
if (num==0)
break;
}
printf("转换为%d进制数为: ",k);
for (;i>=0;i--)
switch (arr[i])
{
case 10: printf("A");break;
case 11: printf("B");break;
case 12: printf("C");break;
case 13: printf("D");break;
case 14: printf("E");break;
case 15: printf("F");break;
default: printf("%d",arr[i]);
}
printf(" ");
}
int main()
{
int num,choo;
loop: printf("请选择功能:0.退出 1.十进制转二进制 2.十进制转八进制 3.十进制转十六进制 ");
scanf("%d",&choo);
switch (choo)
{
case 1:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,2);
goto loop;
case 2:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,8);
goto loop;
case 3:
printf("请输入要转换的十进制数:");
scanf("%d",&num);
tran (num,16);
goto loop;
case 0:break;

default :
printf("输入有误!请重新输入! ");
goto loop;
}
}

拓展资料

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。

其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

(参考资料 网络 C语言)

⑤ C语言中的八进制

除了二进制,C语言还会使用到八进制。

八进制是一种“逢八进一”的进制,它由 0~7 八个符号来描述。同样,此处通过十进制和八进制的对比来描述八进制的表示方式。

八进制基数为8,加法运算时逢八进一,减法运算时借一当八。例如,数字 0、1、5、7、14、733、67001、25430 都是有效的八进制。

当使用八进制表示十进制数字8时,由于表示八进制的符号只有 0~7,因此,根据逢八进一的规则,需要向高位进一位,表示为10。同理,使用八进制表示十进制数字16时,继续向高位进一位,表示为 20。

(5)八进位编程扩展阅读

八进制转换为十进制的源代码如下

#include<stdio.h>

void main()

{

char *p,s[6];int n;

p=s;

printf("Please input a Octal number:");

gets(p);

n=0;

while(*(p)!='')

{

n=n*8+*p-'0';

p++;

}

printf("Octal number to Decimal number:%d",n);

}

⑥ C语言八进制详解

八进制是以8为基数的一种计数系统。在八进制系统中,你是这样计数的:O,1,2,3,4,5,6,7,10,ll,12,13,等等。下面比较了八进制(第二行)和十进制(第一行)中的计数过程: O,l,2,3,4,5,6,7,8,9,10.11,12,13,14,15,16 0,1,2.3,4,5,6,7,10,11,12,13,14,15,16,17,20 注意,在八进制中,在数到7后,就要增加一个八进制位,第二个八进制位显然就是8?(等于十进制的8)。如果你数到第三个八进制位(八进制的100),那将是8?或十进制的64,因此,八进制的100等于十进制的64。 现在,八进制已经不象以前那样常用了,这主要是因为现在的计算机使用的是8,16,32或64位处理器,最适合它们的计数系统是二进制或十六进制(见20.24中有关十六进制计数系统的介绍) C语言支持八进制字符集,这种字符要用反斜杠字符来标识。例如,在C程序中,下面的语句并不少见: if(x=='\007')break; 这里的"\007"恰好就是ASCII值为7的字符;该语句用来检查终端鸣笛字符。另一个常见的八进制数是"\033",即Escape字符(在程序中它通常表示为"\033")。然而,八进制数现在已经很少见了——它们被十六进制数代替了。

⑦ 为什么C语言中要用到八进制

c语言中,0256用八进制输出为:256
256用八进制输出为:400
因为,c认为以0开头的数值是八进制的,而不带任何前缀的数值默认为十进制。

⑧ C语言中 怎样区分八进制 十进制 二进制

编程语言通常规定是以0开头的数字是八进制数,以0x开头的数字是十六进制数,其余的就是十进制数,至于你说的“十进制是D表示 二进制是B 十六进制是H”在编写程序时是不能用的,那只是为了方便,书写时(不是在计算机上编程时)用到的(只对于C语言编程,汇编语言编程时,是写上的),你的程序 int x=011中,x是用八进制表示的一个数字,他是9.后面的printf("%d\n",++x);是以10进制形式打印结果(%d的作用),所以程序运行的结果是9.

⑨ 编程:输入任意一个十进制数,将其转换成八进制和十六进制的数输出。

以下是c++的:
#include
using
namespace
std;
int
main()
{
int
a,b,c,d;
cout<<"请输入待转换的数:";
cin>>a;
//二进制分别计算每一位
if(a==0)cout<
b=a;c=0;d=1;
while(b!=0)
{
c+=(b%2)*d;//依次把b除以2的余数写在c的对应位置上
b=b/2;
d*=10;
}
cout<
//八进制和十六进制使用格式化输出即可,oct表示八进制,hex表示十六进制
cout<
cout<}

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:336
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:378
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:613
java用什么软件写 发布:2025-05-18 03:56:19 浏览:32
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:945
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:742
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:803
网卡访问 发布:2025-05-18 03:35:04 浏览:511
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:372