JavaSE基础-进制


    debug                      【重点】
    进制                       【重点】
 
debug                      【重点】
    什么是debug
        是一种代码的调试功能,方便我们找出代码的错误
        bug:我们常常将代码中的一些错误称为bug,bug翻译过来是“小虫子”的意思
    debug的作用:
        对代码一步步的执行
        1、对代码进行调试,找出代码的错误
        2、可以查看程序的执行流程
    debug的使用
        步骤:
            1、打断点
                断点:debug运行的时候程序会停留在断点处
            2、debug启动
            3、断点操作
                F8:一步步往下执行
                F7:进入自定义的方法内部,如果没有方法调用则和F8是一样的效果
                alt+shift+F7:进入源码的方法内部,如果没有源码方法和F7是一样的效果
                shift+F8:出方法

进制                       【重点】
    进制概述
        什么是进制
            进位方式,几进制就逢几进一

        计算机中常见的进制
            十进制:由0~9这十个数字组成,不需要修饰,整数默认就是十进制数据
                    逢十进一,借一当十
            二进制:由0和1这两个数字组成,前面使用0b修饰
                   逢二进一,借一当二
            八进制:由0~7这八个数字组成,前面使用0修饰
                   逢八进一,借一当八
            十六进制:由0~9这十个数字和a~f这六个字母组成,前面使用0x修饰
                    逢十六进一,借一当十六

    进制转换
        一个数据从一种进制转换为另一种进制

        任意进制到十进制
            公式:系数*基数的权次方 之和
            系数:每一位上的数
            基数:几进制,基数就是几
            权:从右往左从0开始递增1


            0b0101
                1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 = 5
            027
                7*8^0 + 2*8^1 = 23
            0xc8
                8*16^0 + 12*16^1 = 200

        十进制到任意进制
            公式:除基倒取余

            98 ->二进制        0b1100010
            98 ->八进制        0142
            98 ->十六进制      0x62

    快速转换方式
        二进制和十进制之间的快速转换
            8421码

        二进制和八进制的快速转换
            每1个八进制位是由3个二进制位组成

        二进制和十六进制的快速转换
            每1个十六进制位是由4个二进制位组成


        0b10010 -转为->十进制,八进制,十六进制
            十进制: 18
            八进制:022
            十六进制:0x12
        78 -转为->二进制,八进制,十六进制
            二进制
                78 = 64 + 8 + 4 + 2 = 0b1001110
            八进制
                78 = 0116
            十六进制
                78 = 0x4e

    原反补码
        计算机中是以补码方式进行运算的
        计算机中是以原码方式查看数据的
        正数的原反补码都一样
        负数的原反补码一般不一样

        原码
        反码
        补码

        原码和补码的转换
            原码 ->补码: 取反再+1
            补码 ->原码: -1再取反

            快速转换公式:
                左右两边第一次出现的1及其之外的数据不变,之中的数据0变1,1变0

                10000010  补码
                11111110  原码

    位运算
        & | ^ ~ << >> >>>

        /*
            1、将位运算符&左右两边的十进制整数转为二进制
                00000110   6的二进制
            &   00000010   2的二进制
            --------------
                00000010   补码
                |
                00000010   原码
         */
        System.out.println(6 & 2);// 2

        <<:左移操作,可以快速求一个数乘以2的几次方,左移几位就是几次方
        >>:右移操作,可以快速求一个数除以2的几次方,右移几位就是几次方
        ^:一个数异或另一个数两次,得到这个数本身

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值