How can I cast 4 octets in 32bit signed integer type ?

2 ビュー (過去 30 日間)
Benjamin
Benjamin 2014 年 10 月 2 日
回答済み: Benjamin 2014 年 10 月 2 日
Hi,
How can I cast a suite of 4 octet/char to obtain an 32 bit signed integer (sint32).
For instance [198 90 72 0] => -967161856 (and not +3327805439).
An equivalent operator to "y = &(type *)&x" in C or to "cast" in LabVIEW.
Thanks,
Benjamin

回答 (2 件)

Iain
Iain 2014 年 10 月 2 日
編集済み: Iain 2014 年 10 月 2 日
typecast(uint8([1 2 3 4]),'int32')

Benjamin
Benjamin 2014 年 10 月 2 日
Thanks for your answer, it works but before it needs to swap the octets :
data = [198 90 72 0];
signed_integer_32 = typecast(uint8(data(end:-1:1)),'int32')
Benjamin

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by