pow2

Эффективное умножение фиксированной точки 2K

Синтаксис

b = pow2(a,K)

Описание

b = pow2(a,K) возвращает значение a переключенный K биты, где K целое число и a и b fi объекты. Выход b всегда имеет тот же размер слова и дробную длину как вход a.

Примечание

В вычислениях с фиксированной точкой, переключающих K биты эквивалентны и другие эффективному, чем, вычисляя b = a *2k.

Если K нецелое число, pow2 функция будет вокруг него к floor прежде, чем выполнить вычисление.

Масштабирование a должно быть эквивалентно бинарному масштабированию только для точки; другими словами, это должно иметь силу 2 наклонов и смещение 0.

a может быть действительным или комплексным. Если a является комплексным, pow2 управляет на обоих действительными и комплексными фрагментами a.

pow2 функция выполняет OverflowAction и RoundingMethod свойства сопоставлены с a. При повиновении RoundingMethod свойство сопоставлено с a не важно, попытайтесь использовать bitshift функция.

pow2 функция не поддерживает fi объекты типа данных Boolean.

Функция также не поддерживает синтаксис b = pow2(a) когда a fi объект.

Примеры

 Пример 1. Пример 1

В следующем примере, a fi с действительным знаком объект и K положительное целое число.

pow2 функционируйте переключает биты a 3 места налево, эффективно умножая a 23.

a = fi(pi,1,16,8)
b = pow2(a,3)
binary_a = bin(a)
binary_b = bin(b)

MATLAB® возвращается:

a =
 
    3.1406

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

b =
 
   25.1250

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

binary_a =

0000001100100100


binary_b =

0001100100100000
 Пример 2. Пример 2

В следующем примере, a fi с действительным знаком объект и K отрицательное целое число.

pow2 функционируйте переключает биты a 4 места направо, эффективно умножая a 2–4.

a = fi(pi,1,16,8)
b = pow2(a,-4)
binary_a = bin(a)
binary_b = bin(b)

MATLAB возвращается:

a =
 
    3.1406

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

b =
 
    0.1953

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 8

binary_a =

0000001100100100


binary_b =

0000000000110010
 Пример 3. Пример 3

Следующий пример показывает использование pow2 с комплексным fi объект:

format long g
P = fipref('NumericTypeDisplay', 'short');
a = fi(57 - 2i, 1, 16, 8) 

a =
                          57 -                     2i
      s16,8

pow2(a, 2) 

ans =
               127.99609375 -                     8i
      s16,8

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Смотрите также

| | |

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