GPS Time conversion from uint8 to decimal
3 ビュー (過去 30 日間)
古いコメントを表示
I have the following GPS time in decimal as follows [65 31 163 67 100 90 28 172] and the data type is uint8. I need to write a matlab function as a block in Simulink to convert the time to the value 518352.848. Currently, the only way is to convert the data to hex and then back to decimal. As simulink does not accept char type, how can i do this conversion without going through the hex conversion?
0 件のコメント
回答 (2 件)
James Tursa
2016 年 7 月 29 日
Can you use either of these?
>> u = uint8([65 31 163 67 100 90 28 172])
u =
65 31 163 67 100 90 28 172
>> typecast(u(8:-1:1),'double')
ans =
5.183528480000000e+005
>> swapbytes(typecast(u,'double'))
ans =
5.183528480000000e+005
Walter Roberson
2016 年 7 月 29 日
Use the same kind of steps that I showed you in http://www.mathworks.com/matlabcentral/answers/297415-convert-decimal-to-ieee-754-32-bit-single-precision-floating-point#answer_229990 -- in particular, make sure you initialize the output to be a scalar so that the output of the typecast returns a scalar.
参考
カテゴリ
Help Center および File Exchange で Unit Conversions についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


