Преобразуйте типы данных с фиксированной точкой, не меняя базовые данные
c = reinterpretcast(a, T)
c = reinterpretcast(a, T)
преобразует входные a
к типу данных, заданному в numerictype
T объекта
без изменения базовых данных. Результат возвращается в fi
c объекта
.
Область входа a
должно быть встроенным целым числом или fi
объект с типом данных с фиксированной точкой. T
должен быть numerictype
объект с полностью заданным типом данных с фиксированной точкой. Размер слова входов a
и T
должно быть то же самое.
The reinterpretcast
функция отличается от MATLAB® typecast
и cast
функционирует в том, что действует только на fi
объекты и встроенные целые числа, и это не позволяет изменять размер слова входа.
В следующем примере a
является подписанным fi
объект с размером слова 8 бит и длиной дроби 7 битов. The 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