定点数表示_oic0cocs8u10cgcf

    351
    最后修改于

    image.png
    ¥定点小数[x]={x0x<1 1x=1+x1<x0定点小数[x]_原 = \left\{ \begin{aligned} x && 0\leq x<1 \\\ 1-x=1+|x| && -1 < x\leq 0 \end{aligned} \right.
    定点整数[x]={0,x0x2n 2nx=2n+x2n<x0定点整数[x]_原 = \left\{ \begin{aligned} 0,x && 0\leq x\leq 2^n \\\ 2^n-x=2^n+|x| && -2^n < x\leq 0 \end{aligned} \right.
    定点小数[x]={x0x<1 2+x=2x1x<0定点小数[x]_补 = \left\{ \begin{aligned} x && 0\leq x<1 \\\ 2+x=2-|x| && -1 \leq x< 0 \end{aligned} \right.
    定点整数[x]={0,x0x<2n 2n+1+x=2n+1x2nx<0定点整数[x]_补 = \left\{ \begin{aligned} 0,x && 0\leq x< 2^n \\\ 2^{n+1}+x=2^{n+1}-|x| && -2^n \leq x< 0 \end{aligned} \right.
    定点整数[x]=2n+x     2nx<2n定点整数[x]_移 = 2^n+x \ \ \ \ \ -2^n\leq x < 2^n
    由数求码:
    符号位 + 数字表示位,得到原码。
    在符号位为 1 时:

    • 反码 = 数字表示位取反(原码)
    • 补码编码 = 反码编码 + 1,补码表示数 = 反码表示数 - 1
    • 移码 = 符号位取反(补码)

    不考虑符号位:
    补码:code = encode((256 + x) mod 256)
    移码:code = encode(128 + x)
    由码求数:
    原码 -> 数
    在符号位为 1 时:
    数字位取反 (反码) = xor (反码,128 - 1)-> 原码 -> 数
    符号位取反 (补码) -> 移码数 - 128 -> 数
    不考虑符号位:
    补码:x = decode(code^128) - 128
    移码:x = decode(code) - 128

    • 🥳0
    • 👍0
    • 💩0
    • 🤩0