零基础 快速学Java韩顺平 p87-101 四种进制及其相互转换二进制运算(原码补码反码)7种位运算符

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础 快速学Java韩顺平 p87-101 四种进制及其相互转换二进制运算(原码补码反码)7种位运算符相关的知识,希望对你有一定的参考价值。

课程
p87-101

四种进制介绍


小总结:

  • 二进制0b开头
  • 八进制0开头
  • 十六进制0x开头
  • 进制字母不区分大小写

直接输出十进制 如:

public class temp
    public static void main(String[] args)
        // 二进制
        int n = 0b10;
        System.out.println(n);
        // 十进制
        n = 10;
        System.out.println(n);
        // 八进制
        n = 010;
        System.out.println(n);
        // 十六进制
        n = 0x10;
        System.out.println(n);
        
    

看颜色都不一样:

输出:

进制的图示:

进制的转换

x进制转换为十进制

规则:从最低位数(右边)开始,将每个位上的数提取出来,乘以x的(位数-1)次方,然后求和。

二进制、八进制、十六进制转换为十进制均是如此。

十进制转换为x进制

规则:将该数不断除以x,直到商为0为止,然后将每步得到的余数倒过来,就是对应的x进制。

划重点:

  • 不断除以x直到商为0
  • 余数倒过来

十进制转换为二进制、八进制、十六进制均是如此。

二进制转换为x进制

转为八进制
规则:从低位开始,将二进制数每3位一组,转成对应的八进制数即可。

如:0b110101010b 011 010 1010325

转为十六进制
规则:从低位开始,将二进制数每4位一组,转成对应的十六进制数即可。

如:0b110101010b 1101 01010xd5

x进制转换为二进制

八进制转为二进制
规则:将八进制每1位,转成对应的一个3位的二进制数即可。

如:02372010
3011
7111010 011 111
写作:0b010011111

十六进制转为二进制
规则:将十六进制每1位,转成对应的一个4位的二进制数即可。

如:0x23B20010
30011
B10110010 0011 1011
写作:0b001000111011

二进制在运算中的说明



划重点:

  • java数都有符号
  • 计算机以补码运算
  • 结果看原码

位运算符




1>>x 算数右移x次 的意思。

课程中的例子:

以上是关于零基础 快速学Java韩顺平 p87-101 四种进制及其相互转换二进制运算(原码补码反码)7种位运算符的主要内容,如果未能解决你的问题,请参考以下文章

零基础 快速学Java韩顺平 p52-59 基本数据类型转换(自动强制)与String类型的转换

零基础 快速学Java韩顺平 p20-26 快速掌握技术转义字符易犯错误注释代码规范

零基础 快速学Java韩顺平 p35-51 变量数据类型(整型,浮点,字符,布尔)重要编码,API文档

零基础 快速学Java韩顺平 p82-86 标识符的命名规则和规范关键字保留字键盘输入

零基础 快速学Java韩顺平 p62-80 运算符:算数关系逻辑赋值三元和优先级

零基础 快速学Java韩顺平 p104-147 流程控制:顺序分支循环跳转 控制语句 (ifforwhiledowhilebreakcontinuereturn)