怎样判断给出的数据是不是C语言的整型常量,如-012,0x35,123L,8E2

Python019

怎样判断给出的数据是不是C语言的整型常量,如-012,0x35,123L,8E2,第1张

-012、0x35、123L是,8E2不是。

在C语言中,整型常量可用以下三种形式表示

1、十进制整数,即按日常接触的数字形式正常表达。如123、-120;

2、八进制整数,以0开头的数字进行表达。如0123表示八进制数123,即(123)8,其值为1*82+2*81+3*80,等于十进制数83。-011表示八进制数-11,即十进制数-9。

3、十六进制整数,以0x开头的数字进行表达。如0x123,代表十六进制数123,即(123)16,其值为1*162+2*161+3*160,等于十进制数291。-0x12等于十进制数-18。

扩展资料:

实型常量

在C语言中,实型常量只能用十进制形式表示。它有两种形式:小数形式和指数形式。

1、小数形式

由正负号、0~9的数字和小数点组成。小数点前面和后面可以没有数字(不能同时省略)。如:-1.85、0.24、.426、-11.

2、指数形式

由十进制数加上阶码标志e或E以及阶码组成。其一般形式为aEn。其中a为十进制数,n为十进制整数(n为正数时“+”可以省略),其值为a×10ⁿ。

如:1.236e+2表示1.236×10² 。

参考资料来源:百度百科-整型常量

“C 语言中的十进制数 012”这句话本身就是错误的!C 语言中没有专门表示二进制的方法。数字前面加 0,表示的八进制数。例如:012 表示的不是十进制,而是八进制,由于 2 的 3 次方等于 8,因此八进制和二进制之间的转换关系就是:从右往左,每三位一组,就是二进制。因此,八进制的 012 转换成二进制数就是:1010(即:000 001 010 )。

而 12 表示的才是真正我们平时所说的十进制数字 12。

12e是16进制数,也就是0x12e,转化为二进制是 0001 0010 1110;012是8进制数,转化为二进制是 00 1010;两数相减等于0001 0010 0100;2进制输出就是0b1 0010 010010进制输出就是2928进制输出就是044416进制输出就是0x124