整型与进制转换

整型

类型占用存储空间范围
byte1个字节- 2^7 ~ 2^7 - 1(- 128 ~ 127)
short2个字节- 2^15 ~ 2^15 - 1(- 32768 ~ 32767)
int4个字节

- 2^31 ~ 2^31 - 1(- 2147483648 ~ 2147483647)

约21亿

long8个字节- 2^63 ~ 2^63 - 1

老李说明:

        上述类型表示的范围,可以不用实际的背下来,但是需要了解大概。

        2^7 指的是数学中的2的7次幂(次方),以byte为例,范围可以这样记忆,2^8 = 256,除以一半就是128,所以正数表示128个,负数表示128个,但是负数与正数之间还有一个整数0,所以正数到127!同理,short为 2^16 = 65536等。

        在定义实际数据类型的时候,int 够大多数情况的使用。如果不够,就用 long类型就可以了。

java语言的整型常数默认为int型,占4个字节,在声明long型常量后面可以加 "l" 或 "L"。这里建议使用大写的 "L" ,因为小写的 "l" 和数字1很像,容易分不清(当然在文本编辑器可以很容易区分,但是在开发工具中就不一定很容易区分啦!)

代码示例

/**
* long 类型变量的声明
*/
public class TestLong{
    public static void main(String[] args){
        // 正确代码
        long success = 10000000; // 编译通过,在int型表示的范围内(21亿内)
        // 不正确代码(编译器是不通过的,我这里也仅仅是更好的演示,想要通过就注释掉这段代码)
        long failed = 10000000000; // 编译不通过(100亿远超过21亿),超过int所表示的范围
        // 报错:The literal 10000000000 of type int is out of range 修改代码为:
        long failed = 10000000000L; // 加上一个大小的 L
        /**
        *    说明:java默认的整数类型是int型
        *    想要使用更大的数字常量就要在数字后面加上一个 "L",小写 "l"也可以,但是不建议!
        *    即使前面使用的是long型定义的变量,后面如果不超过int型也会默认是int型,只有在后面加                            
        *    上 "L"才可以转换为long型!大家一定要记住哦,否则总会编译不通过,或者以为自己是在使                        
        *    用long型,实际上还是int型 !  
    }


}

java 语言整型常量的四种表示形式

  • 十进制整数,例如:10,100,-50等;
  • 二进制数,要求以0b或者0B开头,例如:0b10011000;
  • 八进制整数,要求以0开头的,例如:010,011;
  • 十六进制数,要求以0x或者0X开头,例如:0x10;

在这里可以帮大家回忆一下高中学习的十进制与二进制之间的转换!

十进制转二进制

        十进制整数转换为二进制整数采用的是"除2取余,逆序排列"法。

        十进制数21转成二进制就是:10101

二进制转十进制

        二进制转十进制采用的是"按权展开法,即权相加法"。按照所给的二进制数从左到右依次开始,二进制数中的每一项数乘2的当前二进制数位数-1次幂,最高次依次递减,最后相加即可得出十进制数,完成二进制数转十进制数。

        

        类似的像八进制数,十六进制数等之间转换,如果还是不会算的情况下,我们直接上工具。其实在实际开发过程中我们大多数的情况是不需要自己计算的,一是数大容易计算错误,二是浪费时间,有计算的时间不如多写写代码。

在线进制转换工具:进制转换 - 在线工具 (tool.lu)icon-default.png?t=N7T8https://tool.lu/hexconvert/

二进制、十进制和十六进制数的对应关系

        

十进制数二进制十六进制
000
111
2102
3113
41004
51015
61106
71117
810008
910019
101010a
111011b
121100c
131101d
141110e
151111

f

  • 48
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lsj-happiness

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值