- ベストアンサー
MATLAB 進数変換
MATLABで、0.1260 -1.0190 1.0838 のような10進数を16進数に変換するにはどうすればよいのでしょうか?dec2hex()という関数を利用するのですが整数でないと使えないので整数に直すのでしょうか?
- caneo_bote
- お礼率34% (26/76)
- 情報工学
- 回答数3
- ありがとう数1
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
まず、2進に変換でしょうね。 0.5, 0.25, 0.125, 0.0625, 0.03125, 単位に1,0が決まりますから、小数点位置から4つずつ0からfに変換ですね。 最後が4桁無ければ」0をいれてください。
その他の回答 (2)
- chie65535
- ベストアンサー率43% (8516/19358)
>MATLABで、0.1260 -1.0190 1.0838 のような10進数を16進数に変換するにはどうすればよいのでしょうか? MATLIBの進数変換は使えません。 >dec2hex()という関数を利用するのですが整数でないと使えないので整数に直すのでしょうか? 違います。 「小数点を含んだ実数」の値は「16進数にする事は不可能」です。 MATLIBでは「実数値」は「IEEEに準拠した内部表現形式」で記憶されているため、そのままでは「16進数」には変換出来ません。 typecastとかを使うと、内部表現形式のまま16進に変換出来るかも知れません。
- maiko0333
- ベストアンサー率19% (840/4403)
それか ×16を繰り返し、小数点以下がなくなればそれで変換し、 ×16した回数分小数点をずらせばいいのかな?
関連するQ&A
- Excelで16桁の16進数を10進数に変換
Excelを使って、16桁の16進数を10進数に変換したいと考えております。 HEX2DECでは、桁数が多すぎてエラーとなってしまいました。 関数の組み合わせでも、VBAで組むのでもどちらでも構いません。 こうすればできる、というようなアイデアだけでも、いただけるとうれしいです。 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 2進数と16進数の相互変換
VBScriptで 2進数と16進数の相互変換をしたいのですが、 進数を変換する関数としては、 Hex関数やOct関数ぐらいしか見当たりません。 どうしたらいいのでしょうか? よろしくお願いします。
- ベストアンサー
- Microsoft ASP
- 【VB6.】10進数を16進数に変換(符号つき)
お世話になります。 どうしてもわからないので教えてください。 やりたいことは以下です。 ●DecをHexの符号ありに(1byte)変換 ●結果としてDec「-02」を変換してHex「FE」が欲しい。 -128~127(変換後は80~7F)まで200通り以上あるので自動変換したいです。 使用しているインターネットのサイトだとできますが、VB6のプログラムで書くとうまくいきません。 ネットに繋がらない環境で変換しなくてはいけなくなったので、どなたか助けてください! お願いします。
- ベストアンサー
- Visual Basic
- 独学で最近c言語を始めたものです。10進数を16進数に変換するプログラ
独学で最近c言語を始めたものです。10進数を16進数に変換するプログラムを作りました。 しかしコンパイルしてもエラーは出ないのですがprintfの部分で配列の結果のみが出ません。 如何せん、独学ですので気付かないところで簡単なミスをしているかもしれませんが、分かる方がいましたご教授ください。 #include<stdio.h> int main() { static char data[16]= {'1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; char hex[5]; short dec,num,i; for(;;){ for(i=0;i<=3;i++) hex[i]=' '; hex[4]='\0'; printf("10進数を入力してください。>>"); scanf("%d",&dec); if(dec==0) break; for(i=3;dec!=0;i--){ num=dec%16; dec/=16; hex[i]=data[num]; } printf("16進数は%sです\n",hex); } }
- ベストアンサー
- C・C++・C#
- 10進数を2進数に変換したい。
業務上であるログの値を解析しています。 ※ログはcsv形式で、Excelに落として編集加工しています。 その中で、10進数を2進数に変換する必要がありますが、変換方法がよくわかりません。 ExcelでDEC2BINという関数があるところまでは突き止めたのですが、 この関数は、与件(10進数)が512を超えるとエラーとなってしまいます。 (解析対象は10進数で10桁です・・。) 2進数に変換する関数、方法などはあるのでしょうか? 大量にログがあるので、一括して加工したいのですが・・。 (VBAの使いかたがわからないので、何とか関数か何かで対処したいのですが・・・。Excelは2002を使ってます)
- ベストアンサー
- オフィス系ソフト
- n進数を10進数に変換するプログラムがわかりません
整数n(2<=n<=16)とn進数の数字列digitsを与えると10進数に変換して表示するプログラム 関数void base2dec(int n, string digits, int &dec)を使用する 実行例 110101(2)=53 123(8)=83 7ACE(16)=31438 以下はとりあえずつくったみたプログラムです #include<iostream> #include<string> using namespace std; void base2dec(int n, string digits, int &dec) { int i,x=0; for(i=0; i=digits.size()-1; i++) { if(n<10) { x=digits[i]-'0'; } else { x=digits[i]-'A'+10; } dec=(x*n); if(cin >> digits[i++]) { if(n<10) { dec=dec+(digits[i++]-'0'); } else { dec=dec+(digits[i++]-'A'+10); } } } int value = dec; } int main() { int n,value; string digits; cout << "何進数ですか-->"; cin >>n; cout << "数字列を入力してください-->"; cin >>digits;; base2dec(n,digits,value); cout << digits << "(" << n << ")=" << value << endl; return 0; } void関数の中、特に計算方法が間違っていると思うのですが、なにがいけないかわかりません。ちなみにn進数から10進数に直す方法は理解しています。
- ベストアンサー
- C・C++・C#
- 16進数関数のhex関数について
16進数を扱う、「hex」という関数があったようななかったような・・・。 16進数の文字列を、例えば、「"0a"」という文字列が あって、この"0a"の前に"0x"という文字列を付け足して"0x0a"とし、この"0x0a"を10という整数値に変換したいのですが、どのようなソースファイルになりますか。 初心者なので、どうプログラムを組んで良いのか分かりませんでしたので、教えて下さい。
- 締切済み
- C・C++・C#
- n進数の値を10進数の値に変換するには?
こんにちは。 C言語において、n進数の値を10進数の値に変換する方法を考えています。 例えば、2進数の101を、10進数で表すと5になります。 これを関数化し、 n_to_m(int x, unsigned n); といったプロトタイプで、 渡された整数x(n進数)を、10進数での値に変換する関数を作りたいのです。 逆に、10進数の値を、n進数の値に変換する関数も一緒に作りたいと考えています。 何かいい方法を思いついた方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。
- ベストアンサー
- C・C++・C#
お礼
ありがとうございました!