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");
    }

  • 相关阅读:
    vsphere client cd/dvd 驱动器1 正在连接
    使用SecureCRT上传和下载文件
    java android 将 List中元素互换位置
    java中Math常用方法
    关于View转化成bitmap保存成图片
    Java中Math类的几个四舍五入方法的区别
    Math.round(),Math.ceil(),Math.floor()的区别
    动态的添加ImageView到LinearLayout中并居中显示
    android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
    Android 代码设置RelativeLayout元素居中
  • 原文地址:https://www.cnblogs.com/laosunlaiye/p/7566963.html
Copyright © 2011-2022 走看看