• ベストアンサー

VBプログラムの得意な方・・。(初心者です。)

taisuke555の回答

回答No.4

(1)FFFFFFFF・・・・・FFFFF(64桁) =16^64-1 =115792089237316195423570985008687907  853269984665640564039457584007913129639935   という結果になりました。(78桁)   自作プログラムなので、合ってるかわかりません(確認の方法がないです)   16^64-1=1.15792089237316E+77となるので、合ってるような気はしますが・・・ (2)1.15792089237316E+77の表示ではダメという事ですよね?    私は、    16^?を10進に直した物を1桁づつの配列にする    16進数の1桁づつを16^?で掛け算をし答えの配列に加算する    最終的に配列を結合して文字列で表示させました。    (説明が下手ですみません)    わからなければ、補足してください。    (自作プログラムで良ければ、記載します。)

kyo----
質問者

お礼

>わからなければ、補足してください。 >(自作プログラムで良ければ、記載します。) taisuke555さん!とても分かりやすく、かつ丁寧なご回答誠にありがとうございました! >1.15792089237316E+77の表示ではダメという事です>よね? そうです!その通りです!あれこれ考えていたのですが駄目でした(><)計算は到底不可能だと思っていましたので文字列に直して・・というのは何となくわかるのですが・・。 >16^?を10進に直した物を1桁づつの配列にする。 これは"?乗"の"?"の部分を10進数に直すという事でしょうか?(一体どうやって・・?) >16進数の1桁づつを16^?で掛け算をし答えの配列>に加算する 例えば"B6D"という16進数があった場合はどう考えればよいのでしょうか?質問に質問を重ねて本当にごめんなさい!もしお時間があればまたご教授下さい。

関連するQ&A

  • 基数変換のプログラム教えてください。(初心者)

    VBで10進数を16進数に変えるプログラムを作成しています。("15"とテキストボックスに入力し「変換ボタン」を押すと"F"と表示されるようなやつです)条件が「16進数の最大桁が64桁のもの」を作成するのが条件です。(当たり前ですがオーバーフローします・・。)16進数→10進数に変換するのは何とか出来たのですが、逆ができません。 どなたか知恵をお貸しください。

  • 基数変換わからない・・。

    16進数を10進数に変換するプログラムをVBで作成しているのですが、どうしても計算途中でオーバーフローしてしまいます・・。最大で16進数64桁のものを計算するにはどのようにコーティングすればいいのでしょうか・・?どなたかご教授ください。

  • 8桁文字列を16進数バイト配列に変換

    お世話になります。 VB2005を使用しています。 温調器から温度データを引っ張るプログラムを作成しています。 8桁の文字列を16進数バイト配列に変換したいのですが、GetBytesでは10進数バイト配列に変換されてしまいます。 8桁の文字列又は10進数バイト配列を16進数バイト配列に変換する方法はないでしょうか? 文字列を1文字ずつ16進数に変換して配列に組み込んでいくしかないのでしょうか? よろしくお願い致します。

  • VBスクリプトの作成方法について教えてください。

    VBスクリプトの作成方法について教えてください。 あるアプリケーションにて、VBスクリプト編集の機能が有りそれを有効にします。 でイベント用スクリプト入力欄には 【サンプル: Value = Value + "123", サブ文字列の値に123を加えます。】 となっています。 これをサンプルとうりに入力欄に Value = Value + "123" と入力したら元データが、 AAAAAAAだったのが AAAAAAA123と表示されました。 元データを以下の条件によってVBスクリプトにて変化させたい場合 VBスクリプトはどのように作成すればいいでしょうか? データは半角で英数字のみでそれが混在です。 (元データは夜間バッチで自動上書更新されるので元データファイルに  式を入れておく事は出来ません。) 1.○○○○○○○○○○○○○○(先頭が3以外で14文字)     ↓   ○○○-○○○○○-○○-○○-○○ 2.○○○○○-○○○○○(5ケタ-5ケタ)      ↓   ○○○○○-○○○○○(変換しない)   3○○○○-○○○○○(5ケタ-5ケタ)     ↓   3○○○○-○○○○○(変換しない)   3A○○○-○○○○○(5ケタ-5ケタ)     ↓   3A○○○-○○○○○(変換しない) 3.○○○○○○○○-○○○○○(8桁ハイフン5桁)     ↓   ○○○-○○○○○-○○○○○   3○○○○○○○-○○○○○(先頭が3で8桁ハイフン5桁)     ↓   3○○-○○○○○-○○○○○   3A○○○○○○-○○○○○(先頭が3Aで8桁ハイフン5桁)     ↓   3A○-○○○○○-○○○○○ 4.3○○○○○○○○○○○○○(先頭が3で14桁)     ↓   3○○○○-○○○○○-○○-○○ 5.3A○○○○○○○○○○○○(先頭が3Aで14桁)    ↓   3A○-○○○○○○○○○○○ よろしくお願いします。

  • VB6のプログラムを助けてください…

    いつもお世話になっております。 みなさんの知恵を貸してください。 よろしくお願いします。 現在、VB6のプログラムを作成しています。 以下の質問のプログラムを作成したいですが、どのようにプログラムを 作成していいのか分かりません。 ~質問内容~ ☆ 機能仕様     シリアル通信送信側のプログラムを作成する。 ☆ 通信仕様     ターミネータ:CR(キャリッジリターン) ☆送信側のプログラム  1-a.フォーム上に以下のコントロールを追加する    ・ポート番号設定用テキストボックス    ・ポーレート設定用コンボボックス    ・コマンド送信文字列入力用テキストボックス    ・「送信」ボタン  1-b.ボーレート設定用コンボボックスは、9600、19200、38400の     3パターンのリストで構成する。それ以下の値は入力させないようにする。  1-c.「切断」ボタンでポートを閉じる。  1-d.「送信」ボタンでコマンド文字列入力用テキストに入力された文字列をターミネータを付けて送信する。 分かる範囲でよろしければ、教えてください。 よろしくお願いします。

  • VBでXbeeの受信データを表示させたい

    私は現在Xbeeを使用して温度と電流を測定しようと考えているのですが、 分からない部分が出たため、質問をさせていただきます。 Xbeeを使用して、離れた位置で測定したデータを受信することはできたのですが 計算を行う段階でどのように計算すればいいのか分かりません。 送られてくるデータが 16進数で温度・電流それぞれ2桁の文字が2つで一つの状態で送られてきています。 例) 2D AD 02 A2 ----- ----- 電流  温度 VBで表示画面を作成し、16進数の状態では表示させることができているのですが、 測定データをどのように16進数に変換して送られてきているのかが分からないため 関数を作れなくて困っています。 分かりにくい説明だと思いますが、回答よろしくお願いします。

  • Visual C++の簡単なプログラムについて

    Visual C++で以下のようなプログラムまたは関数を作りたいのでアルゴリズムもしくはヒントを教えてください。 (1) 入力された文字列の文字数を算出するプログラム (2) 『abc』→『abcabc』のように引数として受け取った文字列を2回繰り返した文字列に変換する関数

  • C++のプログラムを作って頂けませんか?

    ソースをこちらにお願い致します!全て別のプログラムです cin.getline()を使用すること。また、stringクラス及び標準ライブラリの文字列関連の関数は使用しないこと 一つ目。 文字を入力すると、文字列中のアルファベット大文字を小文字に変換するプログラム。入力できる文字数は最大80文字。 例 入力:ABcdEFgh 結果:abcdefgh 二つ目。 文字列を入力すると、文字を循環しているように見えるプログラム。入力できる文字数は最大80文字。 例 入力:Hello 結果: Hello elloH lloHe loHel oHell Hello 三つめ。 文字列を入力すると、文字が逆順になるプログラム。入力できる文字数を最大80文字とする。 例 入力:Hello 結果:olleH どなたかお願いします!

  • VB6.0 Base64のデコード方法を教えてください

    VB6.0 でメールソフトを作っているのですが、受信したメールのヘッダで Subject 部分を見ると、 Subject: =?ISO-2022-JP?B?GyRCJCIkJCQmJCgkKhsoQg==?= と訳の分からないアルファベットになってしまっています。 この Subject を日本語にする方法を教えてください。 一応、Base64のデコードという方法を知りましたが、この処理をVBで実行する場合のコードが分かりません。 工程的には下記の通りかと… サブジェクトの文字列から「?ISO-2022-JP?B?」の文字列の次のから「?=」までの間の文字列を抽出し、 GyRCJCIkJCQmJCgkKhsoQg== をネタに下記の処理。 1.各文字を2進数表記(6ビット単位)に変換(RFC 2045の Table 1 を使う)。 2.2進文字列(6ビット単位)を8ビット単位でまとめる。 3.8ビット単位の2進数をASCIIコードに変換。 4.シフトJISに変換。 ちなみに、この Subject の答えは あいうえお です。 分かる方、VBコードを教えてください。

  • VB2008での表示可能桁数について

    VB2008EEで16進数と10進数の相互変換を行おうと思い、とりあえず下記のようなコードを書いたのですが、 ---------- Dim HOGE As Decimal HOGE = 16 ^ 16 MsgBox(HOGE) ---------- 出力の結果が「18446744073709600000」となります。 しかし、電卓で「16^16」を計算すると、 「18446744073709551616」となります。  VBでの16^16の結果=18446744073709600000  電卓での16^16の結果=18446744073709551616 ちなみに「16^15」までの結果はVBでも電卓でも同じでした。 「16^16」以上の結果は全て同じようにある程度の桁数で繰り上げされてしまっているようです。 ちなみに、データ型「Decimal」は「+/-79,228,162,514,264,337,593,543,950,335」まで 表示可能らしいので、特に桁不足という問題は無いはずだと思っています。 これの理由と、対応策のわかる方はいらっしゃいますでしょうか? ちなみに、最終的に「16^20」くらいまで計算したいと考えています。 よろしくお願いいたします。