进制的强制转换


进制转换实际上是基于继承或实现来完成的,因为String是被final修饰的不能被继承或实现,所以在进制转换时将int强制转换成String,会出现属性抛异常。可以用toString()方法,或者valueof()方法。toString()方法当值为空的时候会抛出空指针异常,而valueof()方法在内部进行了限制,当为null时则返回null。需要注意的是String.valueOf(object)的值是字符串”null”,而不是null!!!

一.常用进制类型

  • 二进制
    • 计算机底层都是使用二进制进行存储以及运算
    • 0b****;(以0b或者0B开始,表示0或1)比如:010101
    • 原码、反码、补码
      • 原码
        将一个整数转换成二进制表示
        以 int 类型为例,int类型占4个字节、共32位。
        例如:
        2 的原码为:00000000 00000000 00000000 00000010
        -2的原码为:10000000 00000000 00000000 00000010
      • 反码
        正数的反码:与原码相同
        负数的反码:原码的符号位不变,其他位取反
        例如,-2 的反码为:11111111 11111111 11111111 11111101
      • 补码
        正数的补码:与原码相同
        负数的补码:反码+1
        例如,-2 的补码为:01111111 11111111 11111111 11111110
      • 注意事项
        • 二进制的最高位是符号位(“0”代表正数,“1”代表负数);
        • Java中没有无符号数;
        • 计算机以整数的补码进行运算;
  • 八进制
    0****;(以数字0开始,表示0到7任意数字 比如:077777)
  • 十进制
    0~9组成 比如:100
    十六进制
    0x****;(以0x或者0X开始,表示0到f任意数字 比如:0x13f)

二.进制转换

1. 整数十进制转换为二进制

下图演示了将十进制数字 42 转换成二进制的过程:

在这里插入图片描述

从图中得知,十进制数字 42 转换成二进制的结果为 101010。

2. 小数十进制转换为二进制

下图演示了将十进制小数 0.6875 转换成二进制小数的过程:
在这里插入图片描述
从图中得知,十进制小数 0.6875 转换成二进制小数的结果为 0.1011。

三. 前16的二进制

123456789101112131415
0101110010111011110001001101010111100110111101111
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值