java基础-2 进制转换

本文介绍了Java中如何进行进制转换,包括十进制转二进制、二进制转八进制和二进制转十六进制的方法。同时详细讲解了位运算的概念,包括原码、反码和补码的表示,以及如何进行位运算。举例说明了如2&3和~2等位运算的结果,并解释了计算机中数值是以补码形式进行运算的原理。
摘要由CSDN通过智能技术生成

1.2 进制转换

  1. 十进制转其他进制。如123转为2进制,用123不断除2,得到的余数倒过来就是对应的二进制。转成其他进制同理。

  2. 二进制转八进制,从后往前每3个为一位。如:0b110001100=0b110 001 100=0614.

  3. 二进制转十六进制,从后往前每4个为一位。如:0b110001100=0b1 1000 1100=0x18C.

  4. 位运算:

int a = 1>>2    //1向右位移两位
int a = 1>>>2   //1向右无符号位移2位
~2// 按位取反
-3^3=?   //按位异或
  1. 原码、反码、补码

    • 最高位为符号位:0为正数,1为负数
    • 正数的三个码一样
    • 负数的反码=符号位不变,其他按位取反,补码=反码+1
    • java的数都是有符号的
    • 计算机运行时是以补码运算
    • 显示运算结果时,显示的是原码
    • 例题:2&3 先得到2和3的补码运算,得到的结果转为原码,2的原码(补码为) 2: 00000000 00000000 00000000 00000010(int型4个字节,正数原码与补码一致)
    • 例题:~2 先得到2的补码,按位取反,再得到原码(注意是先得到反码再得到原
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值