zoukankan      html  css  js  c++  java
  • 计算机组成与体系结构-----数制

    一、进制的表示以及转换

      1.十进制用权来表示

        1234.56 = 1*10^3+2*10^2+3*10^1+4*10^0+5*10^-1+6*10^-2

      2.二进制使用权来表示

        10100.01=1*2^4+1*2^2+1*2^-2

      3.进制转换举例

        1)十进制转换成八进制,除2取余法 

          594=1122

     

        2) 八进制转换成十进制

      4.进制转换技巧

         1)规则

        • 将二进制转换为八进制,只要将每三个二进制位转换为一个八进制数

        • 将二进制转换为十六进制数,只要将每四个二进制转换为一个十六进制数

         2)举例

        • 1100101100转换为8进制

          • 1   100   101   100   =   1    4     5     4  =   1454

        •  1100101100转换为16进制

          • 11        0010       1100   =  1*2^1+1      1*2^1      1*2^3+1*2^2   =    3     2    12(C)   = 32C

    二、三种常用的码制

      1.原码

          1)定义:

      最高位用作符号位(0表示正数,1表示负数),其余各位代表数值本身的绝对值的表示形式

          2)举例

          • +11的原码是 0000 1011

          • -11的原码是 1000 1011

          3)注意

          • 原码状态下,正数与负数进行运算会出现错误

          • 十进制:    1            +     (-1)           =    0

          • 二进制:(0000 0001) +   (1000 0001)  =   (1000 0010)  转换为十进制是-2,很明显结果不对   

      2.反码

          1)定义:

      正数的反码与原码相同。负数的反码符号位为1,其余各位为该数绝对值的原码按位取反。这个取反的过程使得这种编码成为“反码”。

          2)举例

          • +11的反码是 0000 1011

          • -11的反码是  1111  0100  

          3)运算

          • 1           +                (-1)        =              0 

          • 0000 0001    +      1111 1110             =    1111 1111 (是-0 的反码)

      

      3.补码

          1)定义

            正数的补码与反码相同,负数的补码是该数的反码加1,这个加1就是“补码”。

             2)举例

          • +11的补码是0000 1011

          • -11的补码是 1111 0101

          3)运算

          • 1                  +           -1          =     0

          • 0000 0001   +     1111 1111    =     0000 0000                        

        

  • 相关阅读:
    我不为人人,人人不为我
    sed 小结
    linux 之 压缩 / 解压
    java arraylist的问题
    flex swf和movieclip之前的微妙关系
    Flex contextMenu
    。。
    数据库
    flex Vector
    浮动ip
  • 原文地址:https://www.cnblogs.com/TimeIsChoice/p/8399530.html
Copyright © 2011-2022 走看看