私はuint8の値をA = [4, 8, 16, 32];
と宣言しました。値はB = typecast(uint8(A), 'uint16')
にキャストされましたが、答えは2052 8208
です。その背後にある理由を理解できれば非常に感謝します。なぜMATLABのuint8の値とuint16の値が異なるのですか
2
A
答えて
2
MATLABのtypecast関数は、基になるデータを変更することなくデータ型を変換します。言い換えれば、データ構造の基礎となるメモリ表現を変更せず、単純にuint8の代わりにuint16として扱います。
あなたのケースでは、キャスト後にデータの元の値を保持します。したがって、MATLABがデータ構造のメモリ表現を変更するようにします。 鋳造のこのタイプを実行するには、2つの方法があります。
B = uint16(A);
結果:
B =
4 8 16 32
は
B = cast(uint8(A), 'uint16');
がuint16の機能への直接呼び出しを-usingキャスト機能を-using
3
あなたはおそらくMatlabがあなたのuint8
の値を入れることを期待しています変数uint16
に変わります。これは、型変換関数がやっていることではありません。これは、入力から出力までのバイト数を保持します。したがって、あなたの例では、4と8のビット表現をuint16
という数字に、それと等しく16と32にマージします。
したがって、4のバイナリ表現は00000100であり、8の表現は00001000であり、 )彼らは0000100000000100、これは2052です。
関連する問題
- 1. 文字列からのナンシー(uint8とuint16の違い)[uint8の値を1つのuint16値に結合]
- 2. MATLABとワークスペースとrms値が異なる
- 3. なぜconsole.log()とデバッガでオブジェクト値が異なるのですか?
- 4. 小さな値の逆t分布がMatlabとRで異なるのはなぜですか?
- 5. なぜ_selfが異なる値になるのですか?
- 6. XmlReader.IsEmptyElementが異なる値を返すのはなぜですか?
- 7. バーの色とデータの値が異なる:棒グラフMatlab
- 8. なぜ、PermSizeとMaxPermSizeの実際の値が異なるのですか?
- 9. Date.prototype.getTime()でChromeとFirefoxの値が異なるのはなぜですか?
- 10. facebook webhookでparent_idとpost_idの値が異なるのはなぜですか?
- 11. プロシージャが私のクエリと異なる値を返すのはなぜですか?
- 12. bash:$ {@: - 1}の値が$ {@:-1}と異なるのはなぜですか?
- 13. FFTS FFTとMatlab FFTの結果値が異なる
- 14. uint8の最適化がないのはなぜですか?
- 15. Interface BuilderとPhotoshopで同じRGB値が異なるのはなぜですか?
- 16. jmeterとapachetop - 異なる値が表示されるのはなぜですか?
- 17. HttpContext.Request.UrlとRequest.ServerVariables ["HTTP_HOST"]が異なる値を返すのはなぜですか
- 18. Mayaのアニメーション回転値がUnityのアニメーション回転値と異なるのはなぜですか?
- 19. OpenCV Matオブジェクトのアクセス値UINT16
- 20. ケラスのニューラルネットワークモデルが異なるマシンで異なる値を出力するのはなぜですか?
- 21. コールバック関数の値が異なる - 悪いのはなぜですか?
- 22. なぜMATLABはuint8型の行列を保存できませんか?ここ
- 23. Matlabのubit16とuint16の違いは何ですか?
- 24. 異なるデータ型のsizeof(datatype_pointer)/ sizeof(datatype)の値が異なるのはなぜですか?
- 25. Matplotlibのplot()は、渡された値とは異なる値をプロットするのはなぜですか?
- 26. デバイス間でセンサ値が大きく異なるのはなぜですか?
- 27. 同じ式が異なるbig-O値を返すのはなぜですか?
- 28. ゲッターが毎回異なる値を返すのはなぜですか?
- 29. C++クロックが異なる値を返すのはなぜですか?
- 30. なぜmatlabのuicontrol関数がdouble値を返すのですか?