I have a piece of code that I wrote to read the MAT-File based on the pdf found here: https://www.mathworks.com/help/pdf_doc/matlab/matfile_format.pdf I have never tried to read a MAT file on my own machine because I have MATLAB and never saw the need. However I tried it recently and was surprised when the code needed to byte swap. The "MI" Endian test resulted in "IM" on my machine. I saved the file from MATLAB 2016a on my local machine (Win 7 i7-4900) and then opened with an executable compiled on this same machine with VC2013.
I am hoping that I am grossly misunderstanding endian and what is going on. Can someone explain?