Java进制转换

二进制、八进制、十进制、十六进制及其相互转换
进制的基本介绍
所有数字在计算机底层都以二进制形式存在。

对于整数,有四种表示方式:
二进制(binary): 0,1 ,满2进1.以0b或0B开头。
十进制(decimal): 0-9 ,满10进1。
八进制(octal): 0-7 ,满8进1. 以数字0开头表示。
十六进制(hex): 0-9及A-F,满16进1. 以0x或0X开头表示。此处的A-F不区分大小写。
如: 0x21AF +1= 0X21B0

进制对照表


二进制
Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位
原码、反码、补码简介
二进制的整数有如下三种形式:
原码:直接将一个数值换成二进制数。最高位是符号位
负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
负数的补码:其反码加1。
正数的原码、反码、补码都相同

计算机以二进制补码的形式保存所有的整数。

 

为什么要使用原码、反码、补码表示形式呢?
计算机辨别“符号位”显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了。

例如:

进制转换
1.二进制与十进制相互转换
二进制转十进制
二进制转成十进制乘以2的幂数

将十进制数连续除以2,直至商为0截止;然后将余数从后往前排列,即为二进制数

十进制转二进制
十进制转成二进制除以2取余数,然后逆序排列

将二进制数按权展开,相加即为十进制数


补充
8是2 ^ 3,16是2 ^ 4,二进制转八进制和十六进制可以利用其转换

2.二进制和八进制相互转换
二进制转八进制


八进制转二进制

 


3.二进制和十六进制相互转换
二进制转十六进制


十六进制转二进制

 


4.十进制转与八进制或者十六进制相互转换
十进制转八进制或者十六进制
十进制——二进制——八进制/十六进制


八进制或者十六进制转十进制

 


5.十六进制与八进制的相互转换

Java自带的进制转换

其他进制转换成十进制

.//radix代表其他进制转为十进制
Integer.parseInt(String s, int radix);


十进制转换成其他进制
1.十进制转换为十六进制

Integer.toHexString(int i);

2.十进制转换为八进制

Integer.toOctalString(int i);

3.十进制转换为二进制

Integer.toBinaryString(int i);

十进制转其他进制

//十进制转redix进制
Integer.toString(int i,int radix);

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值