zoukankan      html  css  js  c++  java
  • -------------计算机里面算法-----------

    68 8*10的0次方+6*10的一次方

    45 5*10的0次方+4*10的一次方

    145 5*10的0次方+4*10的一次方+1*10的二次方

    计算机中的2进制

    01.原码
    02.反码
    03.补码



    1G=1000MB

    1G=1024MB


    1 byte=8 bit;

    0 0 0 0 0 0 0 0

    1

    0 0 0 0 0 0 0 1

    -1

    1 0 0 0 0 0 0 1


    3

    0 0 0 0 0 0 1 1



    1+1
    0 0 0 0 0 0 0 1
    + 0 0 0 0 0 0 0 1
    -------------------
    0 0 0 0 0 0 1 0 ==》2


    -2+1
    1 0 0 0 0 0 1 0 ==》原码 需要 转换成 反码
    1 1 1 1 1 1 0 1 ==》 反码 需要 转换成 补码
    1 1 1 1 1 1 1 0 ==》-2的补码
    +0 0 0 0 0 0 0 1 ==》 1的补码
    ---------------------------------
    1 1 1 1 1 1 1 1 结果是补码! 需要转换成反码 再转换成原码
    1 1 1 1 1 1 1 0 ==》结果的反码
    1 0 0 0 0 0 0 1 ==》 原码 -1

    01.java中所有的数字都是有符号! 正 0 负 1
    数字的最高位(最左边的)就是符号位!
    02.正数的原码,反码,补码都是一样的!
    03.负数的反码=符号位不变+其他位取反
    04.负数的补码=反码+1
    反码=补码-1
    05.计算机在运行的过程中 都是以 《补码》 运算的!

    java中的位运算

    01.& :按位与 两位全为1,结果为1

    2&3

    运算过程:
    0 0 0 0 0 0 1 0 ==》2的补码
    & 0 0 0 0 0 0 1 1 ==》3的补码
    ---------------------------------
    0 0 0 0 0 0 1 0 ==》 结果2

    02.| :按位或 两位有一个为1,结果为1

    2|3

    运算过程:
    0 0 0 0 0 0 1 0 ==》2的补码
    | 0 0 0 0 0 0 1 1 ==》3的补码
    ---------------------------------
    0 0 0 0 0 0 1 1 ==》 结果3

    03.~ :按位取反 :所有的0变成1,所有的1变成0 (仅限于一个表达式使用)

    ~3
    0 0 0 0 0 0 1 1 ==》3的补码
    ~
    ---------------------------------
    1 1 1 1 1 1 0 0 负数 这是原码
    1 0 0 0 0 0 1 1 反码

    1 0 0 0 0 1 0 0 补码

    ~-5

    1 0 0 0 0 1 0 1 ==》 -5的源码
    1 1 1 1 1 0 1 0 ==》 -5的反码
    1 1 1 1 1 0 1 1 ==》-5的补码
    ~
    ----------------------------------
    0 0 0 0 0 1 0 0 ==》 4

    04. ^ :按位异或 两位一个是1一个是0,结果才是1

    2^3
    0 0 0 0 0 0 1 0
    ^ 0 0 0 0 0 0 1 1
    -----------------------------
    0 0 0 0 0 0 0 1 ==>!



    算术右移:符号位不变 ,低位溢出

    10 >> 2

    0 0 0 0 1 0 1 0
    0 0 0 0 1 0 1 0
    --------------------------------
    0 0 0 0 0 0 1 0

    算术右移:符号位不变 ,低位补0
    2 << 2

    0 0 0 0 0 0 1 0
    0 0 0 0 0 0 1 0
    ---------------------------
    0 0 0 0 1 0 0 0 ==》2的三次方


    逻辑右移 没有左移
    >>> 低位溢出,高位补0
    2 >>> 2
    0 0 0 0 0 0 1 0
    0 0 0 0 0 0 1 0
    -------------------------
    0 0 0 0 0 0 0 0


    int a = 5;
    int b = 4;

    if ((b++ == a) & (b++ == a)) {
    System.out.println(b);
    } else {
    System.out.println(b + "aaaa");
    }

  • 相关阅读:
    python抢票开发——设备预约助手实现
    树莓派的基本网络配置
    python 端口扫描程序
    数据通讯与网络 第五版第24章 传输层协议-TCP协议部分要点
    数据通讯与网络 第五版第24章 传输层协议-UDP协议部分要点
    利用python开发的flappy bird 游戏
    EMACS 快捷键笔记
    python程序中用类变量代替global 定义全局变量
    在树莓派下对多个串口转USB设备进行设备名称绑定操作
    python 编写的经纬度坐标转换类
  • 原文地址:https://www.cnblogs.com/laosunlaiye/p/7566963.html
Copyright © 2011-2022 走看看