• ベストアンサー

MATLAB 進数変換

MATLABで、0.1260 -1.0190 1.0838 のような10進数を16進数に変換するにはどうすればよいのでしょうか?dec2hex()という関数を利用するのですが整数でないと使えないので整数に直すのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.1

まず、2進に変換でしょうね。 0.5, 0.25, 0.125, 0.0625, 0.03125, 単位に1,0が決まりますから、小数点位置から4つずつ0からfに変換ですね。 最後が4桁無ければ」0をいれてください。

caneo_bote
質問者

お礼

ありがとうございました!

その他の回答 (2)

回答No.3

>MATLABで、0.1260 -1.0190 1.0838 のような10進数を16進数に変換するにはどうすればよいのでしょうか? MATLIBの進数変換は使えません。 >dec2hex()という関数を利用するのですが整数でないと使えないので整数に直すのでしょうか? 違います。 「小数点を含んだ実数」の値は「16進数にする事は不可能」です。 MATLIBでは「実数値」は「IEEEに準拠した内部表現形式」で記憶されているため、そのままでは「16進数」には変換出来ません。 typecastとかを使うと、内部表現形式のまま16進に変換出来るかも知れません。

  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.2

それか ×16を繰り返し、小数点以下がなくなればそれで変換し、 ×16した回数分小数点をずらせばいいのかな?

関連するQ&A