[java] 进制

一、进制

进制就是进位制,是人们规定的一种进位方法。 对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位,二进制就是逢二进一,八进制是逢八进一,十进制是逢十进一,十六进制是逢十六进一。

二、分类

Java进制分为二进制,八进制,十进制,十六进制, 但是计算机只能处理2进制的数据和指令。

  • 二进制
    由0,1组成,以0b开头。(b大小写都行)

  • 八进制
    由0,1,…,7组成,以0开头。

  • 十进制
    由0,1,…,9组成,整数默认为十进制。

  • 十六进制
    由0,1,…,9,a,b,c,d,e,f组成(大小写均可),以0x开头。

三、Java 进制转换

十进制转成十六进制:

Integer.toHexString(int i) 

十进制转成八进制

Integer.toOctalString(int i) 

十进制转成二进制

Integer.toBinaryString(int i) 

10进制转 r 进制

Integer.toString(100, r); 

r进制转成十进制

Integer.parseInt((String) s,(int) r);

四、原码, 反码, 补码

1. 原码

原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如:如果是8位二进制:

  • [+1]的源码:0000 0001

  • [-1]的源码:1000 0001

第一位是符号位,因为第一位是符号位,所以8位二进制数的取值范围就是:[1111 1111 , 0111 1111],即[-127 , 127]

2. 反码

反码的表示方法是:

  • 正数的反码是其本身;

  • 负数的反码是在其原码的基础上,符号位不变,其余各个位取反。

[+1]:原码[0000 0001], 反码 [0000 0001]

[-1] :原码[1000 0001], 反码 [1111 1110]

3. 补码

补码的表示方法是:

  • 正数的补码就是其本身;

  • 负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1。(也即在反码的基础上+1)

[+1] = [0000 0001]原= [0000 0001]反= [0000 0001]补

[-1] = [1000 0001]原= [1111 1110]反= [1111 1111]补

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值