reinterpretcast

Преобразуйте типы данных с фиксированной точкой, не изменяя базовые данные

Синтаксис

c = reinterpretcast(a, T)

Описание

c = reinterpretcast(a, T) преобразовывает вход a в тип данных, заданный объектом numerictype T, не изменяя базовые данные. Результат возвращен в объекте fi c.

Вход a должен быть встроенным целым числом или объектом fi с типом данных с фиксированной точкой. T должен быть объектом numerictype с полностью заданным типом данных с фиксированной точкой. Размер слова входных параметров a и T должен быть тем же самым.

Функция reinterpretcast отличается от MATLAB® typecast и функций cast, в которых это только работает с объектами fi и встроенными целыми числами, и это не позволяет размеру слова входа изменяться.

Примеры

В следующем примере a является объектом fi со знаком с размером слова 8 битов и дробной длиной 7 битов. Функция reinterpretcast преобразовывает a в объект fi без знака c с размером слова 8 битов и дробной длиной 0 битов. Реальные значения a и c отличаются, но их бинарные представления являются тем же самым.

 a = fi([-1 pi/4], 1, 8, 7)
 T = numerictype(0, 8, 0);
 c = reinterpretcast(a, T)
a =
 
   -1.0000    0.7891

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 8
        FractionLength: 7
 
c =
 
   128   101

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Unsigned
            WordLength: 8
        FractionLength: 0

Чтобы проверить, что базовые данные не изменились, сравните бинарные представления a и c:

binary_a = bin(a)
binary_c = bin(c)
binary_a =

10000000   01100101


binary_c =

10000000   01100101

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

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

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

| | |

Представленный в R2008b

Для просмотра документации необходимо авторизоваться на сайте