Main Content

bin2num

Convertir una cadena binaria de complemento a dos en un número utilizando el objeto quantizer

Descripción

ejemplo

y = bin2num(q,b) convierte el vector de caracteres binarios b en un arreglo numérico y utilizando las propiedades del objeto quantizer q.

Si b es un arreglo de celdas que contiene cadenas binarias, y será un arreglo de celdas de la misma dimensión que contiene arreglos numéricos.

[y1,y2,...] = bin2num(q,b1,b2,...) convierte los vectores de caracteres binarios b1, b2, ... en arreglos numéricos y1, y2, ....

Ejemplos

contraer todo

Realice la conversión entre un vector de caracteres binarios y un arreglo numérico utilizando las propiedades especificadas en un objeto quantizer.

Convertir un arreglo numérico en una cadena binaria

Cree un objeto quantizer especificando una longitud de palabra de 4 bits y una longitud de fracción de 3 bits. Las otras propiedades del objeto quantizer toman los valores predeterminados de especificar un tipo de datos de punto fijo con signo, redondear hacia infinito negativo y saturar en desbordamiento.

q = quantizer([4 3])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = saturate
          Format = [4  3]

Cree un arreglo de valores numéricos.

[a,b] = range(q);
x = (b:-eps(q):a)
x = 1×16

    0.8750    0.7500    0.6250    0.5000    0.3750    0.2500    0.1250         0   -0.1250   -0.2500   -0.3750   -0.5000   -0.6250   -0.7500   -0.8750   -1.0000

Convierta el vector numérico x en una representación binaria utilizando las propiedades especificadas por el objeto quantizer q. Tenga en cuenta que num2bin siempre devuelve las representaciones binarias de una columna.

b = num2bin(q,x)
b = 16x4 char array
    '0111'
    '0110'
    '0101'
    '0100'
    '0011'
    '0010'
    '0001'
    '0000'
    '1111'
    '1110'
    '1101'
    '1100'
    '1011'
    '1010'
    '1001'
    '1000'

Utilice bin2num para realizar la operación inversa.

y = bin2num(q,b)
y = 16×1

    0.8750
    0.7500
    0.6250
    0.5000
    0.3750
    0.2500
    0.1250
         0
   -0.1250
   -0.2500
      ⋮

Convertir una cadena binaria en un arreglo numérico

Todos los números de punto fijo de 3 bits con el complemento de dos en forma fraccionaria vienen dados por:

q = quantizer([3 2]);
b = ['011  111'
     '010  110'
     '001  101'
     '000  100'];

Utilice bin2num para ver los equivalentes numéricos de estos valores.

x = bin2num(q,b)
x = 4×2

    0.7500   -0.2500
    0.5000   -0.5000
    0.2500   -0.7500
         0   -1.0000

Argumentos de entrada

contraer todo

Propiedades de los tipos de datos que se utilizarán en la conversión, especificadas como un objeto quantizer.

Ejemplo: q = quantizer([16 15]);

Cadena binaria que se va a convertir, especificada como un vector de caracteres, un arreglo de caracteres o un arreglo de celdas que contiene cadenas binarias.

Tipos de datos: string | char | cell

Sugerencias

  • bin2num y num2bin son inversos entre sí. Tenga en cuenta que num2bin siempre devuelve las representaciones binarias de una columna.

Algoritmos

  • La representación binaria de punto fijo es el complemento a dos.

  • La representación binaria de punto flotante sigue la norma IEEE® 754.

  • Si hay menos dígitos binarios de los necesarios para representar el número, entonces se añaden ceros a la izquierda en el caso de punto fijo, se añaden ceros a la derecha en el caso de puntos flotantes.

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | |