how the function typecast works when convert double to uint8

I test the function typecast as follows:
z=double(1);
z1=typecast(z,'uint8');
and the results shows the
z1 = 0 0 0 0 0 0 240 63
As to my knowledge, each element in z1 should represent one 8-bit unsigned number. But the sum is not equal to 1.
Does anyone know how the function works and what's the meaning in vector z1?

 採用された回答

Cedric
Cedric 2015 年 8 月 31 日
編集済み: Cedric 2015 年 8 月 31 日

1 投票

Look at the difference between CAST and TYPECAST, and you will understand what happens in your example.
PS: if you want to understand where these 240(F0) and 63(3F) come from, have a look a this wiki.

1 件のコメント

Yucheng Fu
Yucheng Fu 2015 年 9 月 2 日
Thank you for the help. The double format has 64 bit length. This explains exactly what happens to my case. When the typecast convert it to uint8, it should have 8 separate numbers.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

質問済み:

2015 年 8 月 31 日

コメント済み:

2015 年 9 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by