`

java中整数类型(short int long)的存储方式

阅读更多

在java中的整数类型有四种,分别是 byte  short int long 其中byte只有一个字节 0或1,在此不详细讲解。

其他的三种类型如下:

1、
基本类型:short 二进制位数:16
包装类:java.lang.Short
最小值:Short.MIN_VALUE=-32768 (-2的15此方)
最大值:Short.MAX_VALUE=32767 (2的15次方-1)

2、
基本类型:int 二进制位数:32
包装类:java.lang.Integer
最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)
最大值:Integer.MAX_VALUE= 2147483647  (2的31次方-1)


3、
基本类型:long 二进制位数:64
包装类:java.lang.Long
最小值:Long.MIN_VALUE=-9223372036854775808 (-2的63次方)
最大值:Long.MAX_VALUE=9223372036854775807 (2的63次方-1)

拿short类型举例:

  首先需要明白在计算机中最高位为符号位,0表示正数,1表示负数。在计算机中数据是使用其补码表示的,但正数补码是其本身,负数的补码是负数的源码取反加一得到的补码。

    一、正数的原码、反码、补码都相等 
    例:0000 1010(在十进制中表示+10,左数第一位为符号位) 
    它的原码、反码、补码都是0000 1010 
    二、负数的原码是其本身,负数的反码是将符号不变,把符号后边的数取反,对于负数的补码 是把原码取反后加1 
    例:1000 1010(在十进制中表示-10) 
    它的原码是 1000 1010 
    它的反码是 1111 0101 
    它的补码是 1111 0110

    例如short类型: -1  二进制标示: 10000000 00000001(最大的负整数-1 )

          取反:          11111111 11111110  

          加1 补码:      11111111 11111111  (最大的负整数-1在计算机中的标示方法)

明白了 以上这些再说short的二进制标示:

    先看这个: 最小的负整数 -32768     计算机中二进制标示:10000000   00000000 

          最大的负整数-1     计算机中二进制标示:11111111  11111111 

          0           计算机中二进制标示:00000000  0000000 

         最小的正整数 1               计算机中二进制标示: 00000000 00000001

         最大的正整数:32767  计算机中二进制标示: 01111111  11111111 

最小的负数-32768加1之后计算机中二进制标示为:10000000  00000001 一直加1直到到 11111111 11111111(-1)达到最大的负整数,然后再加1变为:1 00000000  0000000   注意此处字节长度为 17位,而short类型只取 16位即:00000000  0000000   所以-1+1之后变为0 然后00000000 00000000再一直加1直到 01111111  11111111 达到最大正整数(32767),32767再加1变为:10000000   00000000 即为最小的负整数 -32768(2^15)

如图标示:  

分享到:
评论

相关推荐

    谈谈Java中整数类型(short int long)的存储方式

    在java中的整数类型有四种,分别是byte short in long,本文重点给大家介绍java中的整数类型(short int long),由于byte只是一个字节0或1,在此就不多说了,对java中的整数类型感兴趣的朋友一起学习吧

    java基本数据类型.docx

    整数类型:byte、short、int、long 浮点类型:float、double 字符类型:char 布尔类型:boolean 这些基本数据类型在Java中用于存储不同类型的数据值,它们分别占用不同的内存空间,并具有不同的取值范围。在Java中,...

    Java中各个数据类型之间的转换

    在整数之间进行类型转换时,数值不发生改变,而,特将整数类型别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。 强制类型转换,也称显式类型转换,是指必须书写代码才能完成的...

    Java程序设计基础:基本数据类型.pptx

    整数类型 浮点类型 (byte、short、int、long) (float、double) 数组 [ ] (boolean) 基本数据类型 整型 类型名称 占用存储空间 取值范围 byte 1字节(8位) -27~-27 -1即-128~127 short 2字节(16位) -215~215 -1 ...

    Java面试宝典(传说中的葵花宝典).doc

    在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是...

    JAVA面试题最全集

    1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出...

    JAVA基础之java的移位运算

    尽管我们在这个例子使用了byte 类型的值,但同样的基本的原则也适用于所有Java 的整数类型。 因为Java 使用2的补码来存储负数,并且因为Java 中的所有整数都是有符号的,这样应用位运算符可以容易地达到意想不到的...

    java 面试题 总结

    基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 ...

    java基础知识下载

    1. java中的数据类型划分 java语言的数据类型有简单类型和复合类型: 简单数据类型包括: 整数类型(Integer):byte, short, int, long 浮点类型(Floating):float,double 字符类型(Textual):char ...

    第一章程序设计基础知识板块第一节内容

    33 整数类型数据在内存中以_______________的方式表示 34 Java语言的控制语句有3种类型,即________________、________________和转移语句 35 Java中有两种类型的控制语句即if和_______________ 36 Java语言的控制...

    2.Java基础语法.ppt

    整数型:bute、short、int、long 浮点型:float、double 字符型:char 布尔型:boolean 2.引用数据类型:除基本数据类型外的所有都是基本数据类型 数值型: 类型 所占空间 取值范围 默认值 字节型 byte 1个...

    超级有影响力霸气的Java面试题大全文档

     基本数据类型包括byte、int、char、long、float、double、boolean和short。  java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int...

    Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue

    Java中常量的分类: 1,整数常量。所有整数 2,小数常量。所有小数 3,布尔(boolean)型常量。较为特有,只有两个数值。true false。 4,字符常量。将一个数字字母或者符号用单引号( ' ' )标识。 5,字符串常量。...

    Java4Android开发教程(五)java的基本数据类型特征

    java的数据类型分为基本数据类型和引用数据类型。   基本数据类型分为数值型、字符型(char)、布尔型(boolean)   数值型变量   1、整数型 类型 占用存储空间 表示范围 byte 1字节Byte -128~...

    java面试题

    答:swtich()传递的应该是一个整数表达式,所以它的值只能是:int、short、char、byte所以long和String都不能作用在swtich()上。 jsp和servlet之间的联系? 答:jsp前段动态页面,servlet是纯java类 jsp被编译之后...

    Java知识复习(前篇)

    Java复习(一)基本类型包装类型(含相应基本类型)装箱||拆箱装箱拆箱自动装箱与手动装箱String基本概要String与StringBuffer和StringBuilderString pool参数传递重点类型转换基本概要float 与double的恩怨智能整数...

    写给小白看的入门级 Java 基本语法

    基本数据类型用于存储简单类型的数据,比如说,int、long、byte、short 用于存储整数,float、double 用于存储浮点数,char 用于存储字符,boolean 用于存储布尔值。 不同的基本数据类型,有不同的默认值和大小,来...

    在一小时内学会 C#(txt版本)

    例如:long 在 C++ 中是 4 字节而在 C# 中是 8 字节。bool 和 string 类型均和 C++ 不同。bool 仅接受真、假而非任意整数。 用户定义类型文件包含: 1. 类 (class) 2. 结构(struct) 3. 接口(interface) ...

    C语言解析教程(原书第4版)(美) 凯利.pdf

    3.5 整数类型short、long和unsigned 3.6 浮点类型 3.7 typedef的用法 3.8 sizeof操作符 3.9 使用getchar()和putchar() 3.10 数学函数 3.10.1 使用abs()和fabs() 3.10.2 unix和数学函数库 3.11 隐式类型转换...

Global site tag (gtag.js) - Google Analytics