美文网首页
Java-基本数据类型的取值范围及成因

Java-基本数据类型的取值范围及成因

作者: 从小画虎烂 | 来源:发表于2019-08-13 16:01 被阅读0次

    记得某次面试中,面试官让我写个代码段:

            将两个长度为n的字符串相加,其中字符串为纯数字,求结果?

    哦呵,面试官的意图非常明显,无非是想考察下面试者对于数据类型取值范围的掌握、数据溢出的处理。

    em...是的...但是...,我忘了 =.=I|..,int的取值范围?这个取值范围是怎么来的?数据溢出会变成什么样?......,再见了,青春。


    一、基本数据类型

           数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,是语言的抽象原子概念,可以说是语言中最基本的单元定义。java是强类型语言,本质上可将数据类型分为两种:基本类型和引用数据类型。

      基本类型:简单数据类型是不能简化的、内置的数据类型、由编程语言本身定义,它表示了真实的数字、字符和整数。

    数据类型图 基本数据类型属性表

    二、取值范围的由来

    以short短整型为例,short类型占2个字节,即16位。

    1、16位二进制可表示的范围为:

                    0000,0000,0000,0000 ~ 1111,1111,1111,1111(0 ~ 2^16-1)

    2、java中整数类型的数据在保存为二进制时,都定义了符号位,最高位(第一位)表示符号:0表示正,1表示负。即16位二进制数可表示的范围为:

                     0111,1111,1111,1111 ~ 1111,1111,1111,1111(2^15-1 ~ -2^15-1)

    3、

    问:在不同位数的操作系统上,基本数据类型所表示的范围是否相同?

    答:在C/C++上是不同的,但是在java上是相同的。(具体不深究)

    三、数据溢出

    相关文章

      网友评论

          本文标题:Java-基本数据类型的取值范围及成因

          本文链接:https://www.haomeiwen.com/subject/ayewdctx.html