****** 二十九 ******、软设笔记【计算机体系结构】-机内代码及运算

机内代码及运算
    一。数的进制
        *十进制
        *二进制
        *八进制
        *十进制

    二、进制的转换
        1.十进制转二进制
            把被转换的十进数整数反复地除以2,直到商为0,所得的余数(从末位读起)就是这个数的二进制表示。简称“除2取余法”。

        2.二进制转十进制
        方法是:二级制数按权展开求和

    三、原码、反码、补码、移码
        1.带符号数的表示
            通常的做法是约定一个数的最高位为符号位,若该位为0,则表示正数;若该位为1,则表示负数。

        1.原码:    
            用最高位表示符号位,数值部分用二进制绝对值表示,这就是原码的表示方法。
        2.反码
            原码变反码规则:正数的反码和其原码形式相同,负数的反码是除符号为,其他各位逐为取反(即0变1,1变为0)
        3.补码
            补码规则为:正数的补码和其原码形式相同,负数的补码是原码除符号位以外逐位取反(即0变1,1变成0),最后在末尾加1。
        4.移码(增码)
            无论正数、负数,在补码的基础上对符号位取反,一般用作浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。

    四、定点数和浮点数
        计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数来表示。
        1.定点数
            *定点整数:小数点的位置固定在最低位的右边,不占位
            *定点小数:小数点的位置固定在符号位与最高数值位之间,表示一个纯小数。

        2.浮点数
            用类似科学计数法来表达,即
                N = M * R的e次方
                M 称为尾数,R称为基数,e为阶码(指数)
            比如1001.101的规范浮点数表达为1.001101 x 2的3次方

            浮点数利用指数达到了浮动小数点的效果,从而灵活地表达更大范围的实数。

    三、校验码概述
        编码体系指一种编码方式中所有合法码字的集合。
        合法码字占所有码字的比率就是编码效率。
        *一个编码系统中任意两个合法的编码之间的不同的二进制位的数目叫这两个码字的码距。
        *该编码系统的任意两个编码之间的距离的最小值称为该编码系统的码距
        *码距是衡量一种编码方式的抗错误能力的一个指标。
        数字信息在传输和存取的过程中,由于各种意外情况的发生,数据可能会发生错误,即所谓误码。

    四、奇偶效验
        奇偶效验较简单,串口通信中使用奇偶效验作物数据效验的方法。
        *奇效验:被传输的有效数据中“1”的个数是奇数个,效验位填“0”,否则填“1”;
        *偶效验:被传输的有效数据中“1”的个数是偶数个,效验位填“0”,否则填“1”。

        使用一位奇偶效验的方法能够检测出一位错误,但无法判断是哪一位出错。
        当发生两位同时出错的情况时,奇偶效验也无法检测出来。所以奇偶效验常用于少量数据的效验,如一个字节。

    五、海明码
        海明码是奇偶效验的一种扩充。和奇偶效验的不同之处在于海明码采用多位效验码的方式,在这些多个效验位中的每一位都对不同的信息数据为进行奇偶效验,通过合理地安排每个效验位对原始数据进行的效验的位组合,可以达到发现错误、纠正错误的目的(当出现两位错误时,海明码能够查错,但无法纠错)。还需要记住以下几个关键的关系。
        *可查出多少位错误:可以发现“=< 码距 - 1”位的错误。
        *可以纠正多少位错误:可以纠正“< 码距 / 2”位的错误,因此如果要能够纠正n位错误,所需最小的码距应该是"2n + 1"。

        1.海明码的原理
            在数据中间加入几个校验码,码距均匀拉大,当某一位出错,会引起几个校验码位的值发生变化。
        2.海明不等式:
            校验码个数为k,可以表示2的k次方个信息,1个信息用来表示“没有错误”,其余2的k次方 -1个表示数据中存在错误,如果满足2的k次方 -1 >= m+k( m+k 为编码后的数编总长度),则在理论上k个校验码就可以判断是哪一位(包括信息码和校验码)出现了问题。
        3.海明码的编码规则
            校验码一次放在第2的i次方(i=0,1,2,3...)位,其余位置为信息位。
           

猜你喜欢

转载自blog.csdn.net/qq_40223688/article/details/80303133