广州哪里有网站开发,中国菲律宾关系为什么不好,制作一个简单网站的代码,互联网行业现状分析文章目录 数据格式定点数浮点数 机器码表示原码反码补码数的补码与真值 移码IEEE754标准 数据格式
定点数 定点数就是数据的小数点的位置是固定不变的#xff0c;通常将数据表示成纯小数或纯整数以 n 1 n1 n1 位数表示定点数#xff0c;以 X n Xn Xn表示定点数的正负#… 文章目录 数据格式定点数浮点数 机器码表示原码反码补码数的补码与真值 移码IEEE754标准 数据格式
定点数 定点数就是数据的小数点的位置是固定不变的通常将数据表示成纯小数或纯整数以 n 1 n1 n1 位数表示定点数以 X n Xn Xn表示定点数的正负0 为正数1表示负数对于 n 1 n1 n1位定点数小数点位于 X n Xn Xn 和 X n − 1 Xn-1 Xn−1之间当每一个数位都是0时绝对值最小为0当全部数位为1时绝对值最大为 1 − 2 − n 1- 2^{-n} 1−2−n对于定点整数表示的范围是 0 ∣ x ∣ 2 n − 1 0 |x|2^n -1 0∣x∣2n−1 浮点数 计算机中任意的二进制数N 可以写成 N 2 e . M N2^e.M N2e.M 其中M 是一个纯小数称为尾数e 是浮点数的指数是一个整数称为阶码 机器码表示
原码 通俗来说就是符号位加上二进制的绝对值对于0有0和-0的两种表示方法缺点加法运算复杂 反码 正数的反码与原码相同负数的反码就是负数的原码符号位不变数值位取反 补码 对于正数的补码就是原码对于定点整数负数的补码在计算上面可以由反码加1得到但是从定义上看我们用n1 为数来表示一个定点整数其中 X n Xn Xn为符号位那么就有 [ x ] 补 2 n 1 − ∣ x ∣ [x]补 2^{n1} - |x| [x]补2n1−∣x∣ ,其实从实际意义上就是用正数多于的部分来表示负数采用补码的话0的表示方法只有一种并且无论数字为正数还是负数机器总是做加法运算 数的补码与真值 [ x ] 补 X n X n − 1 X n − 2 . . . . X 1 X 0 [x]_补 X_nX_{n-1}X_{n-2}....X_1X_0 [x]补XnXn−1Xn−2....X1X0 对于上面的形式 x − 2 n X n ∑ i 0 n − 1 2 i x i x -2^n X_n\sum_{i0}^{n-1}2^ix^i x−2nXn∑i0n−12ixi如何更好理解对于正数来说由于符号位为0那么就直接根据权重展开就可以对于负数来说由于符号位为1那么就是包括符号位共n1位的情况下就用 − 2 n -2^n −2n去加上偏移量就是后面的一堆的数字的权重即可具体而言就是以一个时钟为例子 一共由60份本来是 [ 0 , 60 ] [0,60] [0,60]但是现在我用 [ 0 , 30 ] [0,30] [0,30]来表示正数 [ 30 , 60 [30,60 [30,60来表示原本的 [ − 30 , 0 ] [-30,0] [−30,0],并且-30 的位置与30 的位置重合那么具体如何求回本身的负数呢就是目前的位置逆时针转动一圈即可就是-60 移码 移码通常表示浮点数的阶码移码的定义为 [ e ] 移 2 k e [e]_移2^ke [e]移2ke, 2 k e − 2 k 2^ke-2^k 2ke−2k 其中 [ x ] 移 [x]_移 [x]移 为机器码e 表示真值 2 k 2^k 2k是一个固定的偏移值常数 IEEE754标准 对于32位浮点数符号位在最高位1位E 是阶码位8位M 是尾数位23位浮点数的指数真值e 变成阶码的时候加上127 即 E e 127 E e127 Ee127 规格化表示一个规格化的32位浮点数x 的真值表示为 x ( − 1 ) S ∗ ( 1. M ) ∗ 2 E − 127 x(-1)^S*(1.M)*2^{E-127} x(−1)S∗(1.M)∗2E−127