- ベストアンサー
基数変換のプログラム教えてください。(初心者)
VBで10進数を16進数に変えるプログラムを作成しています。("15"とテキストボックスに入力し「変換ボタン」を押すと"F"と表示されるようなやつです)条件が「16進数の最大桁が64桁のもの」を作成するのが条件です。(当たり前ですがオーバーフローします・・。)16進数→10進数に変換するのは何とか出来たのですが、逆ができません。 どなたか知恵をお貸しください。
- kyo----
- お礼率94% (324/342)
- Visual Basic
- 回答数4
- ありがとう数7
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
16進の求め方は知っていますか? 例えば1000の10進を16に・・・ 1000/16 = 62...8 この商をまた16で割る 62/16=3...14(E) 商が16より小さくなるまでやります。 で、商→余り→余り・・・・というわけで 10進の1000の16進は3E8となります。 配列にしてA(1)に最終的な商、A(2)~に余りを入れていけば、A(1)~~~で並べれば16進になります。 わかりにくくてすいません(^_^;)
その他の回答 (3)
- N_Grade
- ベストアンサー率0% (0/1)
もしただ単純に変換したいということであれば下記の関数がありますね。 10進->16進 strTMP$ = Hex(intTMP$) 16進->10進 intTMP$= Val("&H" & "16進文字列")
お礼
なるほどー! こういう変換方法もあるのですね! ありがとうございました!
- tatsu99
- ベストアンサー率52% (391/751)
1.言語はVB6.0でしょうか、VB.NETでしょうか。 2.>(当たり前ですがオーバーフローします・・。) オーバーフローが発生しない程度の数値の範囲内で、 10進数->16進数の変換ができれば良いのですか。 それとも、16進数の0~FFF...FF(64桁)迄の全ての数値に対応した変換が出来ることが条件でしょうか? 3.>16進数→10進数に変換するのは何とか出来たのですが FF..FF(64桁)の値も(オーバーフロー無しで)10進数に変換することが出来たのでしょうか?
お礼
説明不足で申し訳ございません! 1、VB6.0です。 >2、16進数の0~FFF...FF(64桁)迄>の全ての数値に対応した変換が出来ることが条件で>しょうか? その通りです。 3、はい。配列の繰り上がり処理を活用し何とかできました。64桁でもオーバーフローしません。 もう少し自分なりに考えてみますね! ありがとうございました。
- wogota
- ベストアンサー率42% (66/154)
10進の数の割り算が問題なくできれば16進への変換を 行うことができます。 ある数を16で割った余りがその数の16進として表記できる 一番下の位となります。位取り記数法の考えから、16で 割ったときの商は先ほど求めた一番下の位を取り除いた数と なります。 例を挙げると次のようになります。 ・12345678901234567890(10進)を16進に変換する 12345678901234567890/16=771604931327160493余り2 771604931327160493/16=48225308207947530余り13 48225308207947530/16=3014081762996720余り10 3014081762996720/16=188380110187295余り0 188380110187295/16=11773756886705余り15 11773756886705/16=735859805419余り1 735859805419/16=45991237838余り11 45991237838/16=2874452364余り14 2874452364/16=179653272余り12 179653272/16=11228329余り8 11228329/16=701770余り9 701770/16=43860余り10 43860/16=2741余り4 2741/16=171余り5 171/16=10余り11 10/16=0余り10 商が0になったので 10,11,5,4,10,9,8,12,14,11,1,15,0,10,13,2を16進数に置き換えて AB54A98CEB1F0AD2 となります。
お礼
詳しいご説明本当にありがとうございました! もう少し考えてみますね! 本当にありがとうございました!
関連するQ&A
- 基数変換わからない・・。
16進数を10進数に変換するプログラムをVBで作成しているのですが、どうしても計算途中でオーバーフローしてしまいます・・。最大で16進数64桁のものを計算するにはどのようにコーティングすればいいのでしょうか・・?どなたかご教授ください。
- ベストアンサー
- Visual Basic
- VBプログラムの得意な方・・。(初心者です。)
お世話になっています。 VBで「16進数←→10進数」を交互に変換できる計算プロシージャを作成しているのですが16進数の最大桁が64桁のものを作成しています。いきずまってしまったのでどなたかヒントをご教授ください。 (1)16進数で64桁は、10進数で何桁になるのでしょうか? (2)(当たり前ですが)どうやってもオーバーフローしてしまいます・・。(文字列に置き換えて・・)(まず2進数に戻して・・)いろいろ考えてはみたのですが、限界のようです。どなたか知恵を貸して下さい。
- ベストアンサー
- Visual Basic
- 数字→漢数字変換
VBの超初心者です。 数字から漢数字への変換に挑戦しているのですが、 苦戦しています… テキストボックスに5桁までの数字を入力して、コマンドボタンを クリックしたら、ラベルボックスに5桁の漢数字が出力されるという プログラムです。 ex「65432」→「六万五千四百三十二」 このような感じにしたいのですが、どなたか教えて下さい。 宜しくお願いします。 使用しているの、VB6.0です。
- ベストアンサー
- Visual Basic
- VB6のプログラムを助けてください…
いつもお世話になっております。 みなさんの知恵を貸してください。 よろしくお願いします。 現在、VB6のプログラムを作成しています。 以下の質問のプログラムを作成したいですが、どのようにプログラムを 作成していいのか分かりません。 ~質問内容~ ☆ 機能仕様 シリアル通信送信側のプログラムを作成する。 ☆ 通信仕様 ターミネータ:CR(キャリッジリターン) ☆送信側のプログラム 1-a.フォーム上に以下のコントロールを追加する ・ポート番号設定用テキストボックス ・ポーレート設定用コンボボックス ・コマンド送信文字列入力用テキストボックス ・「送信」ボタン 1-b.ボーレート設定用コンボボックスは、9600、19200、38400の 3パターンのリストで構成する。それ以下の値は入力させないようにする。 1-c.「切断」ボタンでポートを閉じる。 1-d.「送信」ボタンでコマンド文字列入力用テキストに入力された文字列をターミネータを付けて送信する。 分かる範囲でよろしければ、教えてください。 よろしくお願いします。
- 締切済み
- Visual Basic
- 簡単なプログラムを作りたい。
簡単なプログラムを作りたい。 「□が食べたい」□はテキストボックスで、 □の中に例えば"ごはん"と入れて何かボタンを押せば、 "ごはんが食べたい"と文章が作成される。 こんな感じのプログラムを作りたいです。どうすればいいでしょうか。
- ベストアンサー
- HTML
- VBで電話プログラム作成
VBで電話プログラム作成したいのですが可能でしょうか? 1から9のボタンがあり、10桁のボタンを入力して実行ボタンを押すと電話をかけるみたいな設計です
- ベストアンサー
- Visual Basic
- プログラムの作成について
初めてプログラムを作成するのですが 4桁の2進数から10進数の変換を表示がうまくできません。 1100を10進に変換すると12のはずが 10進数=0となって手詰まりです。 if文などは使わずにやるのを前提にお願いします。
- 締切済み
- C・C++・C#
- プログラム起動後のコントロールの配置
プログラム起動後に,ファイルから値を読みこみ,その値の数だけテキストボックスを配置する,という動作は可能でしょうか? あらかじめ最大数のテキストボックスを,invisibleの設定で作成しておき,値読み込み後に,必要数だけinvisibleの設定を解除する方法を試しましたが,余分の空白部分が出来るので,もっと良い方法があればと思った次第です. 何かヒントなりありましたら,お教え下さいますようお願い致します.
- 締切済み
- Visual Basic
- 8桁文字列を16進数バイト配列に変換
お世話になります。 VB2005を使用しています。 温調器から温度データを引っ張るプログラムを作成しています。 8桁の文字列を16進数バイト配列に変換したいのですが、GetBytesでは10進数バイト配列に変換されてしまいます。 8桁の文字列又は10進数バイト配列を16進数バイト配列に変換する方法はないでしょうか? 文字列を1文字ずつ16進数に変換して配列に組み込んでいくしかないのでしょうか? よろしくお願い致します。
- ベストアンサー
- Visual Basic
- VBについて質問です
VB2010でフォームデザイナーに、ツールBOXからテキストBOXとボタンを挿入します。テキストBOX内に数字を入力し、ボタンクリックで線がかけるようなプログラムを作成したいのですが、初心者で分かりません。コード等詳しく教えていただけないでしょうか。
- ベストアンサー
- Visual Basic
お礼
いえいえとんでもない! 素早いご回答ありがとうございました! もう少し考えてみますね! ありがとうございました。