exponenta event banner

num2bin

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

Синтаксис

Описание

пример

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

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

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

Примеры

свернуть все

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

x = magic(3)/9
x = 3×3

    0.8889    0.1111    0.6667
    0.3333    0.5556    0.7778
    0.4444    1.0000    0.2222

q = quantizer([5,3])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = saturate
          Format = [5  3]
y = num2bin(q,x)
y = 9x5 char array
    '00111'
    '00010'
    '00011'
    '00000'
    '00100'
    '01000'
    '00101'
    '00110'
    '00001'

Преобразование между двоичным символьным вектором и числовым массивом с использованием свойств, указанных в 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]);

Числовой входной массив, заданный как скаляр, вектор, матрица, многомерный массив, массив ячеек или структура.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | struct | cell

Совет

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

Алгоритмы

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

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

См. также

| | | |

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