java int数值范围_java 的8种基本类型数值范围计算过程

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:26   1907   0

java有8种基本类型,包括4种整型、2种浮点类型、1种用于表示Unicode编码的字符单元的字符类型char和1种用于表示真值的boolean类型。

4种整型 分别是:int、short、long、byte.

类型

存储需求

取值范围

int

4字节

-2147 483 648~2147 483 647

short

2字节

-32768~32767

long

8字节

-9223372036854775808~9223372036854775807

byte

1字节

-128~127

解释:

以byte 为例:1字节为8个2进制位 由于java有任何无符号类型(unsigned type)所以在8个字节种有一个是符号位,7个是数值位 。

在计算机内,有符号数有3种表示法:原码、反码和补码。

[原码]就是前面所介绍的二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

[反码]表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

[补码]表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。(符号位也为记数位)

以补码表示:最小数为1000 0000

1000 0000按照[补码]的解释为先减一,得到0111 1111,然后按位取反得到1000 0000,该结果为欲求负数的绝对值,所以结果是-128(和概念反着来求出该负数)

因为正是反码不变:0111111 为最大数 原码还是 01111111 即127

-------今天先写到这里。浮点数waiting

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP