Преобразование типов данных с фиксированной точкой без изменения базовых данных
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 0.7890625
numerictype(1,8,7)
c =
128 101
numerictype(0,8,0)Чтобы убедиться, что базовые данные не изменились, сравните двоичные представления a и c:
binary_a = bin(a) binary_c = bin(c)
binary_a =
'10000000 01100101'
binary_c =
'10000000 01100101'cast | fi | numerictype | typecast