Principios de ordenador: de punto fijo y números de punto flotante

1, de punto fijo y de punto flotante

punto decimal en la calculadora y ningún dispositivo especial para su almacenamiento. La posición del punto decimal es fijo o digital puede ser dividida en de punto fijo y números de punto flotante .

punto fijo

Coma fija la posición del punto decimal de la fijo número de posición del punto decimal por un acuerdo previo . El mismo código de máquina de punto fijo, cada uno de los pesos son los mismos.
Acordado después del punto decimal en el valor del bit más bajo punto fijo llamado número entero puro fijo ; se llama antes de que el valor de bit más alta fracción decimal de coma fija . Usando una máquina llamada un punto fijo de la máquina apuntando .
Codificación proporcionada 8, en el que el bit más alto es el bit de signo .
Para la máquina de punto fijo número entero :
el código original y el rango de valor invertido: -2 . 7 + 1 ~ 2 . 7 - a
intervalos numéricos complementan: -2 7. ~ 2 7. - 1
para máquina de punto fijo fraccional :
el código original y el valor invertido rango: -1 2 -7 a 1 - 2 -7
intervalos numéricos complementan: -1 a 1 - 2 -7

Cuando el valor de punto fijo excede el rango que puede ser expresado, llamado desbordamiento .

flotador

Flotante posición del punto decimal no es un número fijo.
De punto flotante en el ordenador consta de dos partes: exponente y mantisa .
Aquí Insertar imagen Descripción
En el que la mantisa representa un valores de números válidos, código de orden indica la posición del punto decimal.
Para exponente común k + 1 mantisa de bits total de n + 1 bits de punto flotante (incluyendo símbolos cada uno):
el número máximo positivo : (. 1 - 2 -n ) * 2 2-K ^ 1.
Negativo mínimo : -1 * 2 2 ^ k 1-
valor absoluto del número mínimo (distinto de 0): ± 2 -n * 2 -2 ^ K

Exponente y mantisa son la representación de complemento.

número de coma flotante normalizado

Dado que el valor numérico puede tener una pluralidad de diferente número de coma flotante que se expresa, para regular el valor de la representación, debe ser limitado a ciertas condiciones, se refiere como un número de coma flotante normalizado .
De punto flotante normalizados limitaciones : Para la mantisa M, deberían ser 0,5 ≤ | M | ≤ 1. .
Para el código original, que es un valor máximo de un cierto bit.
Para el complemento, que es el valor más alto del bit de signo y diferentes entre sí.

Estándar IEEE-754

IEEE-754 norma define tres tipos de números de punto flotante formato básico: formato de precisión simple , doble formato , formato de precisión extendida .

Para los formatos de precisión y de doble precisión individuales, IEEE-754 previsto por la norma de un punto decimal implícito a la izquierda, como dígitos enteros. El bit predeterminado es 1, no necesita ser almacenado, calculados automáticamente. Puesto que la posición oculta en los bits, en comparación con el estándar de un número de coma flotante normalizado a la izquierda, por lo exponente -1 necesidad de igualar.

Para el código de orden, el -1 frameshift real, o puede utilizar el código original + offset cálculo
Solo formato : código de pedido es de 8 bits, el valor de la mantisa es de 23 bits, un total de 32 bits
de formato doble : código de pedido es 11 bits, el valor de la mantisa es de 52 bits, la 64-bits total
formato de precisión extendido : bits de exponente 15, el valor de la mediana de la mantisa es 64, el total 80

Desde mantisa mantisa formatos de precisión simple y doble precisión real del bit implícita 24 y 53, respectivamente.

Para el formato de precisión simple, exponente de la gama es -126 a 127.

Este lugar es lo que no entiendo. Después información hallazgo entendimiento personal es: código de pedido completo 0 y todos-1 es un caso especial; 0 corresponde a un complemento completo es 10000001, -127, correspondiente al complemento de todo es 1 10000000 -128. Por lo que estos dos valores deben ser excluidos. Ver desde la constante de sesgo, y el -127--128 desplazamiento 0 y -1, código de máquina no puede ser representado por 8.

IEEE-754 estándar de punto flotante ecuación : V = (-1) MS * 2 2 ^ 127-E * M
decimal precisión a las etapas individuales de: 1) un interruptor binario 2) normalizado 3) Encontrar el exponente 4) empalmado 5) * cuatro de transferencia hexadecimal
etapas de rotación de precisión única decimal de: 1) una fracción de cuatro a su vez binaria * 2) segmento 3) encontrar el símbolo orden código original se calcula 4) valor verdadero

2, código de verificación

Acceso proceso de transferencia de datos, la interferencia de alta frecuencia externo debido a un fallo intermitente de equipo, transitorios de potencia y otra error accidental ocurre. Para reducir este tipo de errores, además de mejorar la fiabilidad del hardware en sí, pero por lo general mediante la adición de un poco de redundancia , los datos legítimos que codifican algunos errores , llamados código ilegal , para detectar errores. Código distancia es entre dos bits codificados mutuamente diferentes. Código distancia de sólo 2 Código de control de tener la capacidad de corrección de errores.

paridad

Junto con un código de comprobación de la información válida, puede formarse la paridad . Este es el tipo más simple de código de control.
Odd : la adición de bits de comprobación , el código de verificación es un número de 1 bit es impar. ~ C = x1 ⊕ x2 ⊕ ... ⊕ xn ( número impar y tener cualquier número de 0 XOR 1; 1 para dar un número par de 0)
paridad par : la adición de bits de comprobación , el código de verificación es un número de 1 bit es un número par . C = x1 x2 ⊕ ⊕ ⊕ ... xn
paridad comprobar una lata de error, pero no puede determinar la ubicación del error.

Código de control de Hamming

Código de control de Hamming es capaz de localizar un error , y se puede encontrar dos errores de código de verificación, y puede restaurar un síndrome código de verificación.
Un total bits efectivos símbolo K, bits de paridad R, si se desea, un error de posicionamiento, hay total de la desigualdad Hamming 1. : 2 r . ≥ k + r + 1; (k + r bits pueden ser mal, en el caso de la derecha)
Si dos errores necesitan comprobar además, hay Hamming desigualdad 2 : 2 . I + LT-1 ≥ K + R & lt. (2 requiera lo contrario indica un error)

Código de Hamming del código de verificación de reglas de codificación :

  1. Hamming código de verificación proporcionado MSB es m, el bit más bajo es 1, el código de comprobación de Hamming se puede expresar como: H (m) H (m-1) ... H (1) ;
    donde, H (2 I-1 ) ocupado por los bits de prueba R (i), desde pequeñas a grandes posiciones restantes ocupada por el símbolo efectivo K (i); si la presencia de H (2 I- 1. ), entonces R (i) que ocupa la posición más alta.
    Por ejemplo trece Hamming paridad de código (bit de paridad cinco, ocho símbolo efectiva): R (5) K ( 8) K (7) K (6) K (5) R (4) K (4 ) K (3) K (2 ) R (3) K (1) R (2) R (1)
  2. Hamming suma de comprobación cada número de bits, igual a poner a prueba su bit de paridad y el número. Por ejemplo, H (3): 3 = 2 + 1; por tanto, H (3) (1) comprobar la H (2) y H. Cada bit corresponde a una paridad, son el código efectiva de comprobación de paridad de los mismos .

bit significativo debe ser igual al número de bits de paridad y número de bits; número de bit de paridad es igual a la suma de sí mismo.

  1. paridad par a un ejemplo, las ecuaciones se puede obtener:
    Pl = Dl D2 de ⊕ ⊕ ⊕ D7 D5 D4 ⊕
    P2 = ⊕ Dl D4 D3 ⊕ ⊕ ⊕ D7 D6
    P3 D3 = D2 de ⊕ ⊕ ⊕ D8 D4
    P4 D5 = D6 ⊕ ⊕ D7 D8 ⊕
    P5 Dl = D2 de ⊕ ⊕ ⊕ D3 D4 D5 ⊕ ⊕ ⊕ D6 D7 D8 ⊕ ⊕ ⊕ Pl P2 P3 ⊕ ⊕ P4 (los bits de orden más altos igual o exclusiva de todos los otros códigos Hamming)
    mediante el uso de las ecuaciones se pueden formar de verificación Hamming código.

La detección de errores , el bit de paridad y así necesidad de comprobar la suma de control ecuaciones operación XOR se puede obtener:
Sl = Pl ⊕ D2 de Dl ⊕ ⊕ ⊕ D7 D5 D4 ⊕
S2 = P2 Dl ⊕ ⊕ ⊕ D3 D4 D6 ⊕ ⊕ D7
S3 = P3 ⊕ D2 de ⊕ D3 ⊕ D4 ⊕ D8
S4 = P4 ⊕ D5 ⊕ D6 ⊕ D7 ⊕ D8
S5 = P5 ⊕ Dl ⊕ D2 de ⊕ D3 ⊕ D4 ⊕ D5 ⊕ D6 ⊕ D7 ⊕ D8 ⊕ Pl ⊕ P2 ⊕ P3 ⊕ P4
obviamente, si este bit no es error , y es equivalente a su propia operación XOR, el resultado debe mantenerse cero ;
la otra parte, si un resultado de la comprobación es un 1 , lo que indica que los bits de comprobación de errores de datos .
Al considerar sólo un error y dos errores, las siguientes situaciones:
. 1, Sl ~ S5 son todos cero : datos de error;
2, S5 = 0; Sl ~ S4 son ceros : error dos;
3, S5 = 1; S1 ~ S4 son todos 0 : error P5;
. 4, S5 = 1; S1 ~ S4 es sólo una 1 : que un bits de comprobación de error correspondiente; como S1 = 1, P1 describe error;
5,S5 = 1; S1 ~ S4 es más que 1 : Common prueba elemento S por el error, la ubicación del error de posicionamiento; si S1, S2 = 1, D1 describe error.

código de redundancia cíclica (CRC código)

código CRC puede ser multi-bit de error detectado y corregido durante el almacenamiento o el transporte de consecutivo, tan ampliamente utilizado entre el medio de almacenamiento magnético, y comunicaciones de ordenador.
El código de CRC a partir de los símbolos de información k bits seguido por r bits de paridad compuesta por el modo 2 operación regla.

CRC código de reglas de codificación :

  1. El código de información expresada como un polinomio M (X) = X * 1 CK-. K- 1. + ... + a C1 * X 1. + C0;
  2. El código de información de r bits a la izquierda, para dar M (X) * X r . = X * 1 CK- . K + 1-r + ... + C0 * X r ;
  3. Con M (X) * X R & lt dividido por el polinomio generador para G (x), el resto obtenido como un bit de paridad. Con el fin de comprobar el código es r bits, puede verse a partir de la ley modular operado 2, G (x) será para el r + 1 bits.
  4. Siempre que el paso de calcular el cociente es Q (x), el resto resultante es R (x), el R (x) empalmados a M (X) * X r en la derecha desocupado r bits que constituyen la información es un código de CRC .
    El CRC código M (X) * X R & lt + R ^ (X) = [Q (X) * G (X) + R ^ (X)] + R ^ (X) = Q (X) * G (X) + 2R ( x);
    adiciones de matriz 2, 2R (x) debe ser 0; por lo tanto, la fórmula = Q (x) * G ( x), es decir, el código CRC será G) divisible x (.

La detección de errores , el código CRC obtenido dividiendo el polinomio generador G (x), si se ha producido ningún error, el resto debe ser 0; diferente de errores de bits, un residuo diferente. Se puede demostrar en el sistema de código y el generador invariante polinomio, con la relación de desplazamiento resto es sin cambios.

Publicado 39 artículos originales · ganado elogios 4 · Vistas 2051

Supongo que te gusta

Origin blog.csdn.net/weixin_44712386/article/details/104713478
Recomendado
Clasificación