exponenta event banner

bin2num

Преобразование двоичной строки дополнения двух в число с помощью quantizer объект

Синтаксис

Описание

пример

y = bin2num(q,b) преобразует двоичный символьный вектор b в числовой массив y с использованием свойств quantizer объект q.

Если b является массивом ячеек, содержащим двоичные строки, то y будет представлять собой массив ячеек того же размера, содержащий числовые массивы.

[y1,y2, …] = bin2num (q,b1,b2,...) преобразует двоичные векторы символовb1, b2, … в числовые массивы y1, y2, ….

Примеры

свернуть все

Преобразование между двоичным символьным вектором и числовым массивом с использованием свойств, указанных в quantizer объект.

Преобразовать числовой массив в двоичную строку

Создать quantizer объект, задающий длину слова 4 бита и длину дроби 3 бита. Другие свойства quantizer объект принимает значения по умолчанию для указания типа данных со знаком, фиксированной точкой, округления до отрицательной бесконечности и насыщения при переполнении.

q = quantizer([4 3])
q =


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

Создайте массив числовых значений.

[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

Преобразование числового вектора x в двоичное представление с использованием свойств, заданных quantizer объект q. Обратите внимание, что num2bin всегда возвращает двоичные представления в столбце.

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

Использовать bin2num для выполнения обратной операции.

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
      ⋮

Преобразовать двоичную строку в числовой массив

Все 3-разрядные числа двух дополнений с фиксированной точкой в дробной форме задаются следующим образом:

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

Использовать bin2num для просмотра числовых эквивалентов этих значений.

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

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

Входные аргументы

свернуть все

Свойства типа данных для преобразования, указанные как quantizer объект.

Пример: q = quantizer([16 15]);

Двоичная строка для преобразования, заданная как символьный вектор, символьный массив или массив ячеек, содержащий двоичные строки.

Типы данных: string | char | cell

Совет

  • bin2num и num2bin являются обратными друг другу. Обратите внимание, что num2bin всегда возвращает двоичные представления в столбце.

Алгоритмы

  • Двоичное представление с фиксированной точкой является дополнением двух.

  • Двоичное представление с плавающей запятой имеет стиль IEEE ® Standard 754.

  • Если двоичных цифр меньше, чем необходимо для представления числа, то нуль-площадки с фиксированной точкой слева и нуль-площадки с плавающей точкой справа.

См. также

| | | |

Представлен до R2006a