• (二)进制、原码、反码、补码、位运算符


     一、进制(P87)

    1.进制介绍 

    对于整数,有四种表示方式:
    (1)二进制:以0b或0B开头
    (2)十进制:
    (3)八进制:以数字0开头表示。
    (4)十六进制:以0x或0X开头表示

    2. 二进制转八进制

    规则:从低位开始,将二进制数每三位一组,转成对应的八进制数即可
    案例:请将0b11010101转成八进制

    0b110(3)010(2)101(5) = 0325

    3. 二进制转十六进制

    规则:从低位开始,将二进制数每四位一组,转成对应的十六进制数即可
    案例:请将:0b11010101转成十六进制

    0b1101(13)0101(5) = 0XD5

    4. 八进制转二进制

    规则:将八进制数每1位,转成对应的一个3位的二进制数即可
    案例:请将0237转成二进制

    02(010)3(011)7(111)= 0B10011111

    5. 十六进制转换成二进制

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

    0x2(0010)3(0011)B(1011) = 0B1000111011

    二、原码、反码、补码(重点难点)

    对于有符号的而言:

    (1)二进制的最高位是符号位:0表示正数,1表示负数

    (2)正数的原码,反码,补码都一样(三码合一)

    (3)负数的反码 = 它的原码符号位不变,其它位取反(0->1,1->0)

    (4)负数的补码 = 它的反码 + 1,负数的反码 = 负数的补码 - 1

    (5)0的反码,补码都是0
    (6)java 没有无符号数,换言之,java中的数都是有符号的
    (7)在计算机运算的时候,都是以补码的方式来运算的
    (8)当我们看运算结果的时候,要看他的原码

    三、位运算符

    java中有7个位运算(& 、| 、^ 、~、 >>、<<和>>>)
    分别是 按位与& 、按位或| 、按位异或^ ,按位取反~ ,它们的运算规则是:
    (1)按位与& :两位全为1,结果为1,否则为0
    (2)按位或| :两位有一个为1,结果为1,否则为0
    (3)按位异或^ :两位一个为0,一个为1,结果为1,否则为0
    (4)按位取反~:0->1,1->0

      

    还有3个位运算符
    (1)算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位(本质:除以2)
    (2)算术左移<<:符号位不变,低位补0(本质:乘以2)
    (3)>>>逻辑右移也叫无符号右移,运算规则是:低位溢出,高位补0
    (4)特别说明:没有<<<符号

  • 相关阅读:
    JavaScript是如何实现模块化的?
    订单导出(抖音)
    基于华为云IOT平台实现多节点温度采集(STM32+NBIOT)
    如何选择编程语言Python Go还是Rust?
    初始化成员列表
    说一说HTTP1.0、1.1、2.0版本区别和优化
    java之异常
    Fisher信息量与Fisher观测信息量
    NoSQL数据库入门
    WEB安全基础 - - -弱口令和暴力破解
  • 原文地址:https://blog.csdn.net/yirenyuan/article/details/127099393