zoukankan      html  css  js  c++  java
  • (理论贴)进制原码补码反码 (持续更新~~)

    原码:二进制表示 形式:
    ex:+1:00000001;

           -1:10000001;

    反码:正数的原码=反码;负数的补码为原码除符号位按位取反:

    ex: -3:10000011--->11111100;

    补码:正数的原码=反码-补码;

            负数的补码为原码除符号位按位取反+1;

    10000000这个补码表示-128;

    n位补码表示范围为-2^(n-1)--2^(n-1)-1;

    PS:补码转原码:

    若为正数补码即为原码;

    若为负数则求此补码的原码;

    例如:1111 1111  -->1000 0000-->1000 0001-->-1;

    进制操作符:

    左移运算符(<<):

    左移一位,低位空出补0,高位左移溢出舍弃此高位;

    例如: 127    0111 1111;

    127<<  1111 1110-->1000 0001-->1000 0010--> -2;

    左移运算符相当于*2操作,(比*2操作快)

    右移运算符(>>):

    类似于左移 ;

    与运算(&):

    1.&0 与0相与可清零;

    2.&1 与1 相与可保留原值;

    ex: 255-->1111 1111---将某Int型数和其&运算可保留后八位,具体应用可详见 HDU - 5980--J - Find Small A 链接:http://acm.hdu.edu.cn/showproblem.php?pid=5980

    常可用于判断奇偶   x&1=0则为偶数,x&1=1则为奇数;

    或运算(|):

    1.与0相或可保留原值;

    2.与1相或可将此位设为1;

    异或运算(^):

    取反运算(~):

  • 相关阅读:
    汇编之EBP的认识。
    【转】PE详解
    迟到的,2016年终总结
    Java 反射
    Java 集合与容器类
    Java 类加载与实例化
    Java 类与对象
    Java 值传递与对象拷贝
    Java 面向对象
    二叉树
  • 原文地址:https://www.cnblogs.com/SunQi-lvbu/p/6827521.html
Copyright © 2011-2022 走看看