请问为什么017777777777八进制表示的int类型的最大数值
3条回答 默认 最新
- 360编码 2017-02-26 06:57关注
整型和值
A. 类型介绍
对于byte,大小为8-bit,取值范围为-128~127(含-128和127)。
对于short,大小为16-bit,取值范围为-32768(-215)~32767(215-1)(含-32768和32767)。
对于int,大小为32-bit,取值范围为-2147473648(-231)~2147473647(231-1)(含-2147473648和2147473647)。
对于long,大小为64-bit,取值范围为-9223372036854775808(-263)~ 9223372036854775807(263-1)(含-9223372036854775808和9223372036854775807)。
对于char,大学为16-bit,取值范围为’\u0000’~’\uffff’(含’\u0000’和’\uffff’),即0~65535
B. 整数值
整数可以表示成十进制、十六进制或八进制。
十进制数字可以是单个ASCII字符0表示整数0;或者包含一个1~9之间的ASCII数字,可以选择在其后接一个或多个0~9之剑的ASCII数字表示一个正整数,如0,9,90。
十六进制数字包含前导ASCII字符0x,或者在0x后面接有一个或多个ASCII十六进制数字,可以表示正整数、0或负整数。值为10~15的十六进制数字分别用ASCII字母a~f表示。用作十六进制数字的每个字母可以为大写或小写,如0x0,0xe,0xffff。
八进制数字包含前导ASCII字符0,或者在0后面接有一个或多个0~7之间的ASCII数字,可以表示正整数、0或负整数,如00,07,0127。
int类型值
int类型最大的正十进制、十六进制值和八进制值分别是2147473647、0x7ffffffff和017777777777,它们都等于231-1,int类型最小的负十进制、十六进制值和八进制值是-2147473648、0x80000000和020000000000,它们都等于-231。十六进制值0xffffffff和八进制值037777777777都表示十进制值-1。
如果int类型的十进制值大于2147473648或值2147473648不是作为一元运算符”-“的操作数出现在任何地方,或者如果十六进制或八进制int值不适合32位,那么会发生编译时错误。
long类型值
如果整数带有ASCII字母L或l的后缀,则它是long类型(优先采用后缀L,因为字母l通常难以与数字1区分开来)。
long类型最大的正十进制、十六进制值和八进制值分别是9223372036854775807L、0x7fffffffffffffffL和0777777777777777777777L,它们都等于264-1,long类型最小的负十进制、十六进制值和八进制值是-9223372036854775808L、0x8000000000000000L和01000000000000000000000,它们都等于-263。十六进制值0xffffffffffffffff和八进制值03777777777777777777777都表示十进制值-1。
如果int类型的十进制值大于9223372036854775808L,或值9223372036854775808L不是作为一元运算符”-“的操作数出现在任何地方,或者如果十六进制或八进制long值不适合64位,那么会发生编译时错误。
C. 字符值
字符值被表示成字符或转义序列,它们被封闭在单引号中。字符值只能表示UTF-16代码单元,即被限制为\u0000~\uffff之间的值。增补字符必须被表示成字符序列内的一个代理对,或者一个整数,这取决于使用它们的API。
行是通过ASCII字符CR、LF或CR LF终止的,因此在开始单引号后面和结束单引号之前出现一个行终止符会出现编译时错误。
由于Unicode转义处理非常早,所以把值为换行的字符书写为’\000a’是不正确的。
D. 整数涉及的运算符
比较运算符<、<=、>、>=、==和!=
数值运算符
一元加、减运算符+和-
乘法运算符-、/和%
加法运算符+和-
递增运算符++
递减运算符—
移位运算符<<、>>和>>>
位运算符~、&、|和^
条件运算符?:
强制转换运算符
字符串串接运算符本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 ansys fluent计算闪退
- ¥15 有关wireshark抓包的问题
- ¥15 Ubuntu20.04无法连接GitHub
- ¥15 需要写计算过程,不要写代码,求解答,数据都在图上
- ¥15 向数据表用newid方式插入GUID问题
- ¥15 multisim电路设计
- ¥20 用keil,写代码解决两个问题,用库函数
- ¥50 ID中开关量采样信号通道、以及程序流程的设计
- ¥15 U-Mamba/nnunetv2固定随机数种子
- ¥30 C++行情软件的tick数据如何高效的合成K线