MATLAB has several function that allow byte-level manipulation of numeric data types (such as DOUBLE, INT32, or UINT16). These can be used to easily convert a multibyte integer into individual bytes or vice versa, check the endian-ness of a system, or convert between big and little-endian formats.
This submission consists of an m-file (ByteConversion.m) and its published HTML version (ByteConversion.html). These files demonstrate the different byte-manipulation abilities.
Table of Contents
* Creating an integer variable
* Destructive casting - I
* Destructive casting - II
* Non-destructive casting
* Converting an integer to a sequence of bytes
* Converting a floating-point value to a sequence of bytes
* Converting a sequence of bytes to an integer
* Checking the Endianness of the system
* Little-endian and Big-endian conversions
* Help on functions
Gautam Vallabha (2019). Byte manipulation and Endian conversion in MATLAB (https://www.mathworks.com/matlabcentral/fileexchange/17569-byte-manipulation-and-endian-conversion-in-matlab), MATLAB Central File Exchange. Retrieved .
Very helpful, thanks.
Help on the typecast use was helpful
Thanks for this example.
I searched the matlab help for 'uint16', 'cast' ... but did not find any link to 'typecast'. No hint how to avoid the clipping. Your example helped a lot.