怎么做网站注册系统,西安做营销型网站建设,网络seo优化服务,wordpress wp_parse_args()机器数 研究机器内的数据表示#xff0c;目的在于组织数据#xff0c;方便计算机硬件直接使用。 需要考虑#xff1a; 支持的数据类型#xff1b; 能表示的数据精度#xff1b; 是否有利于软件的移植 能表示的数据范围#xff1b; 存储和处理的代价#xff1b; ... 真值…机器数 研究机器内的数据表示目的在于组织数据方便计算机硬件直接使用。 需要考虑 支持的数据类型 能表示的数据精度 是否有利于软件的移植 能表示的数据范围 存储和处理的代价 ... 真值符号用“”、“-”表示的数据表示方法。 机器数符号数值化的数据表示方法, 用0、1表示符号。 三种常见的机器数设定点数的形式为 原码
表示简单运算复杂符号位不参加运算要设置加法、减法器。0的表示不唯一[X]原 [Y]原 不能直接判定是执行加法还是减法运算分同号和异号 反码 表示相对原码复杂 运算相对原码简单符号位参加运算只需要设置加法器但符号位的进位位需要加到最低位。 0的表示不唯一 补码
表示相对原码复杂0的表示唯一运算简单只需设置加法器。补码中模的概念 符号位进位后所在位的权值 移码增码
移码表示浮点数的阶码IEEE754中阶码用移码表示。具体实现数值位与X的补码相同符号位与补码相反。设定点整数X的移码形式为则移码的定义是 (X为真值n为X的整数位位数)
定点与浮点数据表示 定点数据表示 可表示定点小数和整数 表现形式 定点小数表示数的范围(补码为例) 定点整数表示数的范围(补码为例) 定点数据表示数的不足数据表示范围受限 浮点数据表示 把数的范围和精度分别表示的一种数据表示方法。 使用场合当数的表示范围超出了定点数能表示的范围时。 一般格式 E: 阶码位数,决定数据的范围 M: 尾数位数,决定数的精度 例如将x 表示成机器形式。假定用8位表示该数且阶码占3位位数占5位均包含一位符号位。 答案是1 1 1 1 0 0 1 0 一般表示格式的不足不同系统可能根据自己的浮点数格式从中提取不同位数的阶码 IEEE 754格式 IEEE 754是一种定义了浮点数表示和运算标准的国际标准。该标准规定了浮点数的二进制表示、舍入规则、溢出处理等方面的细节以确保在不同计算机系统之间实现浮点数的一致性。 IEEE 754浮点数的表示形式分为单精度32位和双精度64位两种。 IEEE 754浮点数的基本结构包括三个部分符号位、指数部分和尾数部分
S8位偏指数E23位有效尾数M单精度S11位偏指数E52位有效尾数M双精度 IEEE754尾数形式为1.XXXXXX其中M部分保存的是XXXXXX(1被隐藏)从而可保留更多的有效位提高数据表示的精确度。 与上述IEEE754格式相对应的32位浮点数的真值可表示为: IEEE 754浮点数标准还规定了特殊值如正无穷、负无穷、NaNNot a Number等以及舍入规则、精度要求等细节 E0 , M 0 表示机器零 E0 , M ≠0 非规格化的浮点数 1≤ E ≤ 254 规格化的浮点数 E255 , M0 无穷大的数对应于x / 0 (其中x≠0) E255 , M≠0 NNaN表示一个非数值对应于0 / 0。 IEEE754 32位浮点数与对应真值之间的变换流程 例如要将十进制数20.59375转换成32位IEEE754格式浮点数的二进制格式。 解: 先将十进制数换成二进制数 20.5937510100.10011 移动小数点使其变成1.M的形式 10100.100111.010010011×2 4 得到 S0, e 4E 10001111111 10000011M 010010011 最后得到32位浮点数的二进制存储格式为 0100 0001 1010 0100 1100 0000 0000 0000 41A4C000H 数据校验的基本原理 必要性 受元器件的质量、电路故障或噪音干扰等因素的影响数据在被处理、传输、存储的过程中可能出现错误 若能设计硬件层面的错误检测机制可以减少基于软件检错的代价。 校验的基本原理 增加冗余码校验位 码距 同一编码中任意两个合法编码之间不同二进数位数的最小值 0011与0001 的码距为1一位错误时无法识别 0000、0011、0101、0110、1001、1010、1100、1111等编码码距为2。任何一位发生改变如0000变成1000就从有效编码变成了无效编码容易检测到这种错误。 校验码中增加冗余项的目的就是为了增大码距。 码距与检错、纠错能力的关系 码距≥e1可检测e个错误 码距≥2t1可纠正t个错误 码距≥et1可纠正t个错误同时检测e个错误(e ≥ t) 码距越大抗干扰能力越强纠错能力越强数据冗余越大 编码效率低编码电路也相对复杂 奇偶校验 奇偶校验的基本原理 1. 增加冗余码校验位 2. 有效信息(k位) 校验信息(r1位) 3. 编码根据有效信息计算校验信息位使校验码数据 1位校验信息中1的个数满足奇/偶校验的要求 连续异或偶数个1时结果为0 0001 ➡ 00011 (偶校验) 校验码偶数个1 0001 ➡ 00010 (奇校验) 校验码奇数个1 4. 检错 偶校验检错码 G0表示数据正常否则表示出错。 奇校验检错码 G0表示数据正常否则表示出错。 奇校验电路 特点 编码与检错简单 编码效率高 不能检测偶数位错误, 无错结论不可靠是一种错误检测码 不能定位错误因此不具备纠错能力 奇/偶校验码距为 2如11000011 ➡ 01000010 一般在同步传输方式中常采用奇校验异步传输方式中常采用偶校验 改进的奇/偶校验 双向奇偶校验 方块校验 垂直水平校验
CRC校验 CRCCyclic Redundancy Check校验是一种在数据通信中常用的差错检测技术。它通过对数据进行多项式运算生成一定长度的冗余校验码将该校验码附加到原始数据中发送。接收方在收到数据后进行相同的多项式运算然后将计算出的校验码与接收到的校验码进行比较从而检测数据是否在传输过程中发生了错误。 收发双方约定的一个(r 1)位二进制数发送方利用G(X)对信息多项式做模2除运算,生成校验 码。接收方利用G(X)对收到的编码多项式做模2除运算检测差错及错误定位。 G(x)应满足的条件 最高位和最低位必须为1 被传送信息CRC码任何一位发生错误时被生成多项式做除后应该使余数不为0 不同位发生错误时模2除运算后余数不同 对不为0余数继续进行模2除运算应使余数循环。
CRC校验的主要特点包括 多项式生成器 CRC校验使用一个预定义的生成多项式通常用二进制表示。该多项式决定了CRC校验码的生成规则。 除法运算 数据发送方和接收方都执行CRC多项式除法运算。发送方用生成多项式除以数据并将余数CRC校验码附加到数据末尾。接收方执行相同的除法运算如果余数为零说明数据没有错误否则说明数据可能存在错误。 固定长度的校验码 CRC校验生成的校验码长度是固定的通常在16位、32位等。这种特性有助于在接收端检测到传输过程中可能发生的错误。 CRC不能纠正错误但它可以有效地检测出大多数传输错误。 常见生成多项式G(x) 模2运算规则 a) 加/减运算异或运算加不进位减不借位 0±000±111±011±10 b) 模2除法按模2减求部分余数不借位。 c)上商原则 ①部分余数首位为1时商为1减除数 ②部分余数首位为0时商为0减0 ③当部分余数的位数小于除数的位数时该余数即为最后余数。 编码步骤 (1)根据待校验信息的长度k按照 kr ≤ 2r1 确定校验位r的位数 如对4位信息 1100 进行CRC编码根据 得 (2)根据r 和生成多项式的选择原则选择位数为 r 1 的生成多项式G(X) 1011 (3)进行下列变化将待校验的二进制信息Q(X)逻辑左移 r 位,得到Q(X)’ 有效信息(k位) 校验信息(r位) ➡ 1100 000 (4)对Q(X)’按模2运算法则除G(x)求CRC编码中的r位校验信息 (5)用得到的余数替换Q(X)’的最后r位即可得到对应的CRC编码 1100 000➡1100 010 CRC的检错与纠错 接收方利用G(X)对收到的编码多项式做模2除运算余数为0说明传输没有错误余数不为0说明传输有错。 例如7,4编码不同数位出错对应的余数 G(x)1011 若余数不为0一边对余数补0继续做模2除同时让被检测的校验码循环左移当余数为101时 出错位也移到A1位置。通过异运算纠正后继续循环左移和执行余数模2除法直到修改后的出 错位回原位。
海明校验 海明检验基于海明码Hamming Code一种特殊的错误检测和纠正码通过添加额外的校验位来实现。 海明码中的每个数据块包含了原始数据位数据和额外的校验位校验码。这些校验位的位置由数据位的位置决定以一种特定的规则进行排列。通过这种方式当数据传输时接收方可以使用这些校验位来检测并纠正传输过程中可能发生的错误。
海明检验的基本原理 生成海明码 在发送数据之前计算数据的海明码。海明码中的每个校验位都是根据特定规则与数据位相关联的。 传输数据 将原始数据和生成的海明码一起传输。 接收数据 接收方收到数据后使用相同的海明码规则计算接收到的数据的海明码。 校验 接收方比较接收到的校验位与计算出的校验位。如果它们不匹配则表示数据在传输过程中发生了错误。 如果海明检验检测到错误接收方可以尝试使用海明码中的校验位来确定错误的位置并尝试纠正错误。这种方式可以有效地提高数据传输的可靠性特别是在受到噪声干扰或传输信道不稳定的情况下。 具体步骤 增加冗余码校验位 有效信息(k位) 校验信息(r位) 设kr位海明码从左到右依次为第123…... kr位 r位校验位记为i12…r)分别位于kr位海明编码的第i12…r) 位上其余位依次放置被校验的数据位 (74)海明校验码中校验位和被校验信息位的排列如下 海明码位号 Hj1234567891011P和b的分布P1P2b1P3b2b3b4P4b5b6b7 Hj位的数据被编号小于j的若干个海明位号之和等于j的校验位所校验 ,如 由此可采用偶校验计算出P1~P4 四个校验位的值 设置指错字G4G3G2G1 为0则表明无错误反之指出出错位的海明码位号。 如 1 0 1 1 表明位出错 当只有一位出错时由于指错字能定位错误故可利用指错字配合适当电路和异或门修正出错位。