log2

Логарифмическое рассечение базы 2 и числа с плавающей запятой

Синтаксис

Описание

пример

Y = log2(X) вычисляет базовый 2 логарифм элементов X таким, что 2Y=X.

пример

[F,E] = log2(X) возвращает массивы F и E таким, что X=F2E. Значения в F обычно находятся в области значений 0.5 <= abs(F) < 1.

Примеры

свернуть все

X = [0 1 2 10 Inf NaN];
Y = log2(X)
Y = 1×6

      -Inf         0    1.0000    3.3219       Inf       NaN

Рассмотрим несколько чисел в экспоненту и мантиссу. Все эти операции следуют стандартной арифметике IEEE ®.

Создайте вектор X, который содержит несколько тестовых значений. Вычислим экспоненту и мантиссу для каждого числа.

X = [1 pi -3 eps realmax realmin];
format rat
[F,E] = log2(X)
F = 
  Columns 1 through 5

       1/2          355/452         -3/4            1/2            1       

  Column 6

       1/2     

E = 
  Columns 1 through 5

       1              2              2            -51           1024       

  Column 6

   -1021       

Соберите результаты в таблицу. Преобразуйте числа в векторы символов в целях отображения.

x = {'1','pi','-3','eps','realmax','realmin'}';
f = strtrim(cellstr(rats(F')));
T = table(x,f,E','VariableNames',{'Value','Mantissa','Exponent'})
T=6×3 table
       Value        Mantissa      Exponent
    ___________    ___________    ________

    {'1'      }    {'1/2'    }         1  
    {'pi'     }    {'355/452'}         2  
    {'-3'     }    {'-3/4'   }         2  
    {'eps'    }    {'1/2'    }       -51  
    {'realmax'}    {'1'      }      1024  
    {'realmin'}    {'1/2'    }     -1021  

Результаты показывают, что для первой строки, 1=12(21). Точно так же для четвертой строки, eps=12(2-51).

Входные параметры

свернуть все

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

Для рассечения числа с плавающей запятой [F,E] = log2(X), любые нули в X производить F = 0 и E = 0. Входные значения Inf, -Inf, или NaN возвращаются без изменений в F с соответствующей экспонентой E = 0.

Типы данных: single | double
Поддержка комплексного числа: Да

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

свернуть все

Базовые 2 значения логарифма, возвращенные в виде скаляра, вектора, матрицы или многомерного массива того же размера, что и X.

Значения Мантиссы, возвращенные в виде скаляра, вектора, матрицы или многомерного массива того же размера, что и X. Значения в F и E удовлетворить X = F.*2.^E.

Экспонентные значения, возвращенные в виде скаляра, вектора, матрицы или многомерного массива того же размера, что и X. Значения в F и E удовлетворить X = F.*2.^E.

Совет

  • Эта функция соответствует ANSI® Функциональные frexp() C и IEEE® стандартная функция с плавающей точкой logb(). Любые нули в X производить F = 0 и   E = 0.

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

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

.

См. также

| |

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