7.1.2 整数常量

一、整数常量是直接在程序中使用数字 如123,

默认是十进制,但可以加上特殊前缀表示其他进制。

二、八和十六怎么转换十进制?

三、八、十六、十进制的书写方式怎样的?

四、常量的值大到无法存储在int型中怎么办?

五、L、U是干什么的?

程序中以文本形式出现的数,而不是读、写或计算出来的数。C语言允许用十进制、八进制、和十六进制形式书写整数常量。

八进制数和十六进制数

八进制数是用数字0-7书写的。八进制数的每一位表示一个8,因此,八进制的数237表示成十进制数就是159

十六进制数是用数字0~9加上字幕a~F书写的,其中字幕A~F表示10~15的数。十六进制数的每一位表示一个16的幂,十六进制数1AF的十进制数值是431.

 

十进制常量包含0~9中的数字,一定不能以零开头

八进制常量只包含0~7,必须要以零开头

十六进制常量包含0~9和a~f,总是以0x开头,(既可以大写也可以小写)

八进制和十六进制只是书写数的方式,它们不会对数的实际存储方式产生影响。

任何时候都可以从一种书写方式切换到另一种书写方式,甚至可以混合使用:10 +015 + 0x20 = 55。八进制和十六进制更适用于底层程序编写。

 

十进制整数常量的类型通常是int,如果常量的值大到无法存储在int型中,就用long int 类型,如果还不够用,编译器会用unsigned long int 作最后尝试。

确定八进制和十六进制常量的规则略有不同,编译器会依次尝试int、 unsigned int 、 long int 、 和unsigned long int类型,直到找到能表示该常量的类型。

 

为了强制编译器把常量作为长整数来处理, 只需在后边加上一个字母L, 15L 、 0377L 、 0x7fffL 。

为了指明是无符号常量,可以在常量后边加上字母U: 15U   0377U  0x7fffU

L和U可以结合使用,表明常量即是长整型又是无符号的: 0xffffffffUL (字母L、U顺序和大小写无所谓。)

 

 

 八进制和十六进制转换成十进制的计算方法。 八进制和十六进制的书写数的方式,  十进制整数常量的储存类型。 常量作为长整数来处理后边加L。 指明无符号常量在后面加U。能结合使用UL
posted @ 2021-04-07 18:48  Sai佐为  阅读(392)  评论(0)    收藏  举报