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

2020-12-26 14:18:57 字数 6626 阅读 7856

1楼:一诺宝贝

在c语言里,整数有三种表示形式:十进制,八进制,十六进制。

其中以数字0开头,由0~7组成的数是八进制。以0x或0x开头,由0~9,a~f或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。

1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。

2,八进制:以0开头,由0~7组成的数。如,0126,050000.

10进制数10转换为8进制的转换过程如下:

10/8 = 1 ....(余2)

1/8 = 0 ....(余1) (1/8中的1是上次运算的商)

所以10的8进制数为12

c语言中 怎样区分八进制 十进制 二进制?

2楼:匿名用户

在c语言里,整数有三种表示形式:十进制,八进制,十六进制。

其中以数字0开头,由0~7组成的数是八进制。以0x或0x开头,由0~9,a~f或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。

1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。

2,八进制:以0开头,由0~7组成的数。如,0126,050000.

3,十六进制:以0x或0x开头,由0~9,a~f或a~f 组成。如,0x12a,0x5a000.

3楼:任成伟

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

4楼:乐vov乐

0开头的是八进制

0x开头的是十六进制

普通的就是十进制。

5楼:o荔枝红了

0开头的是八进制

0x开头的是十六进制

6楼:匿名用户

011前面为0所以为八进制

7楼:狮子xy爱我

区分十进制和二进制方法就是十进制是满10个进一个,二进制就是满两个进一个

c语言中怎样区分八进制,十进制,二进制?

8楼:匿名用户

在c语言里,整数有三种表示形式:十进制,八进制,十六进制。

其中以数字0开头,由0~7组成的数是八进制。以0x或0x开头,由0~9,a~f或a~f 组成是十六进制。除表示正负的符号外,以1~9开头,由0~9组成是十进制。

1.十进制:除表示正负的符号外,以1~9开头,由0~9组成。如,128,+234,-278。

2,八进制:以0开头,由0~7组成的数。如,0126,050000.

3,十六进制:以0x或0x开头,由0~9,a~f或a~f 组成。如,0x12a,0x5a000.

9楼:招之赏方方

编程语言通常规百定是以0开头的数字是八进制数,以0x开头的数字是十六进制数度,其余的就是十进制数,至于你说的“十进制是d表示

二进制是b

十六进制是h”在编写程序时是不能用的,那只是为了方便问,书写时(不是在计算机上编答程时)用到的(只对于c语言编程,汇编语言编程时,是写上的),你的程序

intx=011中,x是用专八进制表示的一个数字,他是9.后面的printf("%d\n",++x);是以10进制形式打印结果(%d的作用),所以程序属运行的结果是9.

c语言中不能用来表示整常数的进制是什么进制?(十进制,二进制,八进制还是十六进制?)麻烦详细说明!谢了!

10楼:匿名用户

c语言中不能用来表示整常数的进制是二进制

二进制是不行的

在c语言中,就是这么规定的,没有什么太深究的原因整型常量又称整型数,它有三种不同的表示形式:十进制,八进制,十六进制十进制直接用整数表示

八进制可以在常熟前加0(零)例如027

十六进制在常数前加0x(零 乘号) 例如 0x27

11楼:匿名用户

2进制。

普通的数是十进制,0x表示十六进制,0后面加数字表示八进制。

12楼:匿名用户

2进制,至于为什么我也不知道,规定把。。。

或者可以认为2进制是机器级别的,编程是针对人的,编译器的作用是把人类认知的程序编译成2进程机器级别的数据,假如有2进制表达式,这样就矛盾了。。。。。

c语言中是用"ox"开头表示是十六进制数,那十进制,二进制,八进制呢?

13楼:我是果疯

1,c语言没有直接输出二进制的方法。

2,八进制在输出的时候以0开头,例如:0123十进制的833,十进制正常输出,无特别表示。

4,十六进制在输出的时候以0x或者0x开头,例如0x123 十进制的291。

14楼:聊融衅文茵

整型常量有3种表示方式,二进制没有专门的表示方式:

①十进制整数。例如,123、一456、0。

②八进制整数。以0开头的整数是八进制数。例如,0123表示8进制数123<8),等于十进制数83。

③十六进制整数。以ox或0x开头的整数是十六进制数。例如,0x1.23或0xl

23表示十六进制数123…),等于十进制数291。

如果在整型常量后面加上字母u或u,则表示无符号整数(unsignedint)。例如,123u或123u是unsignedint型的。如果在整型常量后面加上一个字母l或l,则表示长整数(10ngint)。

例如,123[.或123l是long

int型的。

15楼:冰点风情

整型常量

整型常量有3种表示方式:

①十进制整数。例如,123、一456、0。

②八进制整数。以0开头的整数是八进制数。例如,0123表示8进制数123<8),等于十进制数83。

③十六进制整数。以ox或0x开头的整数是十六进制数。例如,0x1.23或0xl 23表示十六进制数123…),等于十进制数291。

如果在整型常量后面加上字母u或u,则表示无符号整数(unsigned int)。例如,123u或123u是unsigned int型的。如果在整型常量后面加上一个字母l或l,则表示长整数(10ngint)。

例如,123[.或123l是long int型的。

16楼:齐丽绪恩

在c语言中,你还记得输出语句是什么吗?是不是printf("%d",数字)的形式啊?可是你有没有想过这样一个问题——"%d"代表什么?

后面的数字又是什么意思?现在我告诉你——"%d"是一个格式化符号,表示十进制,而“数字”是要被格式化的数字(如果是小数,比如1.67,格式化变成1,取整不是四舍五入)。

十进制转八进制:printf("%o",十进制数字)十进制转八进制:printf("%x",十进制数字)【不考虑负数,因为负数转化的不是他们的原码,而是补码】另外二进制转十进制没有直接可以调用的函数,你不妨自己写一个:

intmain()

//判断叠加

switch(binary[i])

}//输出结果:

printf("%d",decimalnum);

return0;}

如果你是在vc++环境中调试,int

main-->void

main,去掉return

0一句话。

c语言中整数可以二进制八进制十进制的输出 为什么不对

17楼:蒯其英睦胭

您好,sa团队给出的答案

"%d"

或"%i"

输出带符号的十进制整型数

"ld"

为长整型

"hd"

为短整型

" %o"

输出八进制数

"%x"或"%x"

输出十六进制数

至于12进制库函数是没有这个输出格式的,只能自己编写了

18楼:牟金兰问鸾

在c语言中,整型变量输出的格式三种:10进制数、十六进制数和八进制数

int i=10;

printf("%d, %o, %x\n", i, i, i);如果不做处理,无法输出二进制数的。

c语言中的二进制,八进制,十进制,十六进制都怎么算……,可否举例,谢?

19楼:苗乔恩

二进制逢二进一,八进制逢八进一,十进制逢十进一,十六进制逢十六进一。

所以二进制的权是2^n,八进制是8^n,十进制是10^n,十六进制是16^n。

它们的计算根据每一位的数值乘以它们的权的和,如下:

二进制数值(1101):1*2^0+0*2^1+1*2^2+1*2^3

八进制数值(4276):6*8^0+7*8^1+2*8^2+4*8^3

十进制数值(4276):6*10^0+7*10^1+2*10^2+4*10^3

十六进制数值(4276):6*16^0+7*16^1+2*16^2+4*16^3

20楼:龙延龙飞

点击网页链接(网页链接),里面输入二进制,直接转换成其他进制。各种转换都有。

21楼:魘传说

先讲一下,二进制与十进制。

以10为例,过程如图。

10进制转化为二进制

10÷2=5....0(余数为0)

5÷2=2....1(余数为1)

2÷2=1....0

1÷2=0....1

然后,非常重要的一步,将余数倒序相加

即:1010

这里特地说明一下,当被除数比除数小时,余数永远为它自己。

如:8÷10 余数为8

二进制转化为十进制

1010

从 右 算起分别对应 :

1 2 4 8

也就是 2的1次方,2次方,3次方

第三步,小数部分怎么计算呢

如10.1

很简单,将0.1乘以2

在乘到整数之前,将结果的整数取出。

如:0.1x2=0.2.....0

0.2x2=0.4.....0

0.4x2=0.8......0

0.8x2=1.6......1

正序排下来: 0001

至于八进制和十六进制,其实是一样的方法。就是把2换成8。

顺便说一下,如果你是要做开发而不是考试的话可以直接用win系统自带的计算器,选择“程序员” 模式可以直接得到2.8.10.16进制的所有结果。

c语言里,八进制,十六进制,二进制,十进制怎么互

22楼:匿名用户

// n进制转

baim进制,10进制表示,n,m均小

du于10

//如果大zhi于10需要

dao特殊处回理,需要使用字符串来答

辅助处理了

int convertnumber(int x,int n,int m)

z=0; nn=1; while ( y )return z;

}void main()

23楼:做而论道

c语言里,注意,说的是:【里面】,

只有二进制,没有别的进制。

24楼:丶冷冷丶冷

#include

intmain()

for(intj=i-1;j>=0;j--)//二进制输zhi出

dao内

printf("%d",a[j]);

printf("\n");

printf("%o\n",k);//八进制输出printf("%x\n",k);//十六容进制输出}

c语言中的数据类型及二进制 八进制 十六进制之间的转换?

25楼:辜以彤能婕

c语言算术表达式的计算,在计算过程中,每一步计算所得结果的数据类型由参与运算的运算对象决定,相同数据类型的两个对象运算,结果数据类型不变,不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。精度的高低:double>float>int

需要注意的是,数据类型的转换是在计算过程中逐步进行的,整个表达式结果的数据类型一定与表达式中出现的精度最高的数据相同,但是具体得到数据值是逐步得到的,例如:int

x=1,y=3;

double

k=1573.267;x/

y*k这个表达式计算结果的数据类型是double,计算结果的答案是

0.0因为在第一步

x/y的计算中

结果是一个整型数据

0第二步计算0*

1573.267

结果是一个double类型的数据,但数值是0.0也就是说,算术表达式计算结果的数据类型与运算的优先级没有关系,一定具有表达式中精度最高的数据类型,但是具体得到数据结果数值,与优先级可就有关系啦。

二进制,八进制,十六进制,十进制怎么换算

1楼 匿名用户 很简单,记住一个1,即可。举例说明 二进制每位上基数的写法 8 4 2 1,个位1,高位 低位 2 十进制转二进制 10d b 写基数写到比10大时停止,用写出的基数从高位到低位将10凑出来,用到的下面写1,否则0 16 8 4 2 1 按位对齐写 0 1 0 1 0 简单来说,10...

使用栈,将十进制转换成二进制,八进制或十六进制

1楼 匿名用户 public class change public static string binary int a while i 0 return s public static string octonary int a while i 0 return s public static ...

除了二进制,六进制,八进制,生活中还有哪些进制

1楼 匿名用户 什么进制都有的 理论上 2 8 10 16是最常用的 10用最多 2 16计算机用得多 8主要用于通信 2楼 玛格特罗葡萄苗 任何进制在生活中都是可能存在的 我打个比方 我们要大量生产啤酒,12瓶啤酒合为一箱,在清点的时候这就是12进1,也就是十二进制。 3楼 匿名用户 十进制,十六...