进制之间的转换

一、关于进制

所有数字在计算机底层都以二进制形式存在。
对于整数,有四种表示方式:
①二进制(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。


  class BinaryTest{
	public static void main(String[] args){

		int num1 = 0b110; //二进制
		int num2 = 110; //十进制
		int num3 = 0127; //八进制
		int num4 = 0x110A; //十六进制

		System.out.println("num1 = " + num1);
		System.out.println("num2 = " + num2);
		System.out.println("num3 = " + num3);
		System.out.println("num4 = " + num4);
	}
}

二、二进制转化为十进制

Java整数常量默认是int类型,当用二进制定义整数时,其第32位是符号位;当是long类型时,二进制默认占64位,第64位是符号位。

二进制整数有以下三种形式:
(1)原码:直接将一个数值换成二进制数。最高位是符号位。
(2)负数的反码:是对原码按位取反,只是最高位(符号位)确定为1。
(3)负数的补码:其反码加1。
计算机以二进制补码的形式保存所有的整数。
*正数的原码、补码、反码都相同。
*负数的补码是其反码+1。

举例如下:
正数转化为十进制时,直接转化。
在这里插入图片描述

负数转化为十进制时,先将补码减1,然后得到起其反码,接着除符号位外,取反,得到最终原码,最后按规则转化为十进制。
在这里插入图片描述

三、十进制转化为二进制:除2取余逆

四、二进制转八进制和十六进制

在这里插入图片描述

五、八进制和十六进制转二进制

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值