当前位置:网站首页 > Java基础 > 正文

java 基础数据类型取值范围



大前提:目前来说所有数据在内存当中都是以补码的形式存在。

 

基础知识学习:

1.关于byte类型取值范围分析

在java当中byte类型只占一个字节,一个字节等于8位,其中最高位表示符号位0代表正数,1代表负数,

因此正数最大可以表示的正数为0111 1111(2)转化为10进制为127。正数最小可以表示0000 0000(2)

也就是0。

因为最高为代表符号位因此就出现了0000 0java 基础数据类型取值范围000(2)和1000 0000(2)也就是+0和-0,我们默认0

就是代表+0,没有-0这一说法,因此多出了1000 0000(2),1111 1111代表-127,1000 0000代表

-1,也就是从-1到-127都有数表示了,因此我们规定1000 0000(2)代表-128。

由上面分析我们可以确认byte的取值范围为[-128,127]。

2.关于int类型的取值范围分析

在java当中int类型占用4个字节,一个字节等于8位,所以总共32位,正数从0开始,负数从-1开始,

因此取值范围为:[-2^31, 2^31 - 1];

3.进入正题,int转换为byte类型过程

例子1:int类型1转换为byte类型

 

例子2:int类型128转换为byte类型

 

例子3:int类型129转换为byte类型

 

例子4:int类型-128转换为byte类型

 

例子5:int类型-129转换为byte类型

 

4.关于n进制的数左移

一个n进制的数N左移m位后得到的数为:N * n^m

例如

十进制的4左移1位,4 * 10^1 = 40

二进制的4左移3位,也就是等于4 * 2^3 = 32

100<<3 变为 转为2进制为32

5.关于n进制的数右移

一个n进制的数N右移m位后得到的数为:N / (n^m)

例如

十进制的4右移1为,4/10 = 0

二进制的16右移3位,也就是等于16/(2^3) = 2

10000>>3 变为 10转为2进制为2

版权声明


相关文章:

  • java零基础教学老杜2024-10-28 18:58:03
  • Java基础题目完美乘积式2024-10-28 18:58:03
  • 2018上海黑马java基础班2024-10-28 18:58:03
  • java集合的基础接口2024-10-28 18:58:03
  • java注释基础知识2024-10-28 18:58:03
  • 网页编辑视频java零基础2024-10-28 18:58:03
  • 云计算需要java基础知识2024-10-28 18:58:03
  • 0基础java课程推荐2024-10-28 18:58:03
  • java1-1基础2024-10-28 18:58:03
  • java 数组基础类型2024-10-28 18:58:03