二进制

  • 十进制    (减法  借一当10)

    加法 :   9 + 1 = 10 ; 99 + 1 = 100;        满10加1   相同位数的值相加 满10  向前+1

    减法 :  20 - 5 = 15   (个位数为0 , 不足以减5  ; 向十位数借1充当个位数的10(十进制),于是现在个位数为10  10-5 = 5;  个位数结果为5   ;十位数被借了1  于是  2 -1 = 1;结果为1   ;最终结果 15)

  • 二进制    (减法  借一当2)     

              加法 :  101 + 11 = 1000;   1 + 1 = 10    满2加1   相同位数的值相加 满2  向前+1

             减法 :  100010 - 1010 = 011000   (个位数都为0,十位数结果 1-1 = 0,百位数都为0,千位数为0不足以-1,向前借1当2,于是结果2-1 = 1,万位数为0,被借了1,不足以-1,向前借1,于是结果2-1 = 1;十万位被借了1,于是结果1-1=0;最终结果011000)

 

  • 整数十进制转二进制   

              65 ----- >    1000001    

    计算 :(短除)

    65 = 32 * 2  ---------------1

    32 = 16 * 2  ---------------0

    16 =   8 * 2  ---------------0

      8 =   4 * 2  ---------------0

      4 =   2 * 2  ---------------0

      2 =   1 * 2  ---------------0

     1 =    0 * 2  ---------------1

 

    因为  : 

    2 = 10

    4 = 100

    8 = 1000

    16 =  10000

    32 =  100000

      64 =  1000000

 

  65 = 64 +1 = 1000000 + 1 = 1000001

  • 小数转二进制   

    13.25 -------->1101.01

    计算:  13.25 = 13 + 0.25;  13 转二进制结果为1101   ; 0.25转二进制  0.25 * 2 = 0.5  整数位结果0   0.5 * 2 = 1.0 整数位结果为1  最终结果 0.01;所以13.25转二进制结果为1101 + 0.01 =  1101.01;

 

  • 原码,反码,补码

    原码:一个数的绝对值得二进制     最高位为符号位  正数为0 负数为1    -13  --->  |-13|----> 1101   ---->  10001101  (8字节,向前补4个0,负数 最高位为1);

    反码:正数的反码是其原码,负数的反码是其原码 的符号位不变,其余每个位取反 (0变为1,1变为0)  10001101 -----> 1 1110010;

    补码:正数的补码是其原码,负数的补码是其原码 的反码 + 1;

  • 为什么要补码?

    计算机只能进行加法运算 ,减法会用补码的方式当成加法来算(结果是补码)

    12 - 14 = 12 +(-14) =  00001100(12的原码) + 11110010(14的补码) = 11111110(结果的补码) --->11111101(-1)---> 10000010(结果的原码:符号位不变,其他位取反) ----> -2 (十进制)

  • 二进制运算符

    & (与):相同位上有0则结果为0

    |  (或):相同位上有1则结果为1

    ! (非):按位取反    1变0 0变1

    ^ (异或):相同位上不同为1,相同为0

  • 16进制(常用)

    范围 : 0~9 A~F(10~15)   

    满16进一   0x前缀表示16进制

    2进制转16进制    4位二进制合成一个位的16进制    2^4 = 16   案例   100100 = 0010 0100 = 0x24

    16进制转2进制    1位16进制分成4个位的二进制     2^4 = 16   案例   0xFD = 1111 1101 =  11111101

  • 8进制

    范围 : 0~7

    满8进1  

    2进制转8进制    3位二进制合成一个位的8进制    2^3 = 8   案例   100100 = 100 100 = 44

    8进制转2进制    1位8进制分成3个位的二进制     2^3 = 8   案例   76 = 111 110 =  111110

 

      

posted @ 2018-08-12 13:15  东—  阅读(452)  评论(0)    收藏  举报