CGB2202二进制

二进制:

回顾:

  1. 正则表达式:
    • 描述字符串内容格式的,通常用它来匹配字符串内容是否符合要求
    • 正则表达式语法--------------了解
  2. String中与正则表达式相关的方法:
    • matches():使用给定正则表达式来验证当前字符串内容是否符合要求,符合返回true,不符合返回false
    • split():将当前字符串按照满足正则表达式的部分进行拆分,拆分为字符串数组
    • replaceAll():将当前字符串中满足正则表达式的部分替换为指定字符串,返回替换后的字符串
  3. Object:
    • 鼻祖,所有类都直接或间接继承了Object,万物皆对象
    • 其中有两个经常被重写的方法:toString()和equals()
      • Object中的toString()返回的是类的全称@地址,没有参考意义,所以常常重写toString()返回咱们自己需求的数据
      • Object中的equals()比较的还是对象的地址,没有参考意义,所以常常重写equals()来比较对象的属性
  4. 包装类:
    • 8种包装类,为了解决基本数据类型不能参与面向对象开发的问题
    • JDK1.5推出:自动拆装箱特性,允许基本类型与包装类之间直接赋值,底层将会自动补充代码完成转换工作

笔记:

什么是2进制
  1. 逢二进一的计数规则

  2. 如何将2进制转换为10进制?

    • 将一个2进制数每个1位置的权值累加即可
  3. Java 所有的变量\常量存储的都是2进制数!

  4. 代码演示:

    public class Demo01 {
         
        public static void main(String[] args) {
         
            /*
             1.java在编译期间将10进制数编译为2进制数,按2进制来运算
                 .java(50) 编译后 .class(110010)
             2.Integer.toBinaryString()可以将底层的2进制数显示出来
             3.int类型是32位2进制数,显示2进制数时自动省略高位0
             4.System.out.println()将2进制转换为10进制输出
             */
            int n = 50; //110010
            System.out.println(Integer.toBinaryString(n)); //2进制
            n++; //110011
            System.out.println(n); //10进制
            System.out.println(Integer.toBinaryString(n)); //2进制
        }
    }
    
什么是16进制
  1. 逢16进1的计数规则
  2. 因为2进制的书写太繁琐麻烦
    00000000 00000000 00000000 00110010
    
    所以常常用16进制来缩写2进制数字
  3. 怎么缩写:将2进制从最低位开始,每4位2进制缩写为1位16进制
  4. 代码演示:
    public class Demo02 {
         
        public static void main(String[] args) {
         
            /*
              16进制:缩写2进制
               1)0x是16进制字面量前缀,0x开头则编译器按照16进制编译
               2)Java 7提供了2进制字面量前缀 0b----不用,一般都用16进制
             */
            int n = 0x4f057afe; //0x表示16进制
            int m = 0b1001111000001010111101011111110; //0b表示二进制
            System.out.println(Integer.toBinaryString(n)); //按2进制输出
            System.out.println(Integer.toBinaryString(m)); //按2进制输出
            //结论:用16进制来表示2进制更方便
    
            /*
             8进制:
             1)逢8进1的计数规则
             2)前缀0表示为8进制
             3)数字:0,1,2,3,4,5,6,7,没有7以上的数字
             */
            //----小面试题(8进制平时不用)
            //权     64 8 1
            int x =  067; //0开头表示8进制
            System.out.println(x); //十进制的55(6个8加上7个1)
    
        }
    }
    
补码
  1. 计算机中处理有符号数(正负数)的一种编码方式,java中的补码最小类型是int,32位数

  2. 以4位2进制为例讲解补码的编码规则:

    • 计算的时候如果超出4位数就自动溢出舍弃,保持4位数不变
    • 将4位2进制数分一半作为负数使用
    • 最高位称为符号位,高位为1是负数,高位为0是正数
  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值