アプリ版:「スタンプのみでお礼する」機能のリリースについて

basicをやり始めたんですが、ダンプソフトの作成練習で、16進数表示を10進数で変更しようとした時、&Hの後に変数を入れようとしてエラーになってしまいました。
10進数「50」を16進数「32」にするやり方は分かるのですが、
10進数「50」を16進数「50」にする方法を教えて下さい。

A 回答 (4件)

こんにちは、



>、&Hの後に変数を入れようとしてエラーになってしまいました

basicといっても、いろいろあるので、
エクセルのvbaを利用した場合をかきますと

Public Sub f()

Dim i10 As Integer
Dim i16 As String

i10 = 255

'10進数を16進数に変換
i16 = Hex$(i10)

Debug.Print i16

'16進数を10進数に変換
i10 = Val("&H" & i16)

Debug.Print i10
End Sub
出力結果
call f
FF
255
こんな感じかな??
    • good
    • 0
この回答へのお礼

お返事が遅くなってすみません!。とても分かりやすいご説明本当にありがとうございます。"&H"を文字として扱う所が分からなかったんですが、これを見て良く分かりました。文字の足し算として使うんですね。
助かりました。

お礼日時:2007/01/31 08:42

16進数「32」を10進数「50」にする方法なら



Dim s As String
Dim i As Integer

s = "32"
'i = &Hs '←これはエラー
i = Val("&H" & s)

この回答への補足

お返事が大変遅くなってすみません。わたしは始め&HSのやり方でやっていて、どうしてもうまく行かなかったんです。まず&Hを文字としてそれとSを足すと言う事が出来るなんてビックリしました。(きっとプログラムの世界では常識なんでしょうが)本当にありがとうございます。

補足日時:2007/01/31 08:43
    • good
    • 0
この回答へのお礼

すみません。補足にお礼を書いてしまいました。

お礼日時:2007/01/31 08:48

??


> 10進数「50」を16進数「50」にする方法を教えて下さい。

『10進数「50」』って、『ごじゅう』のことですよね?
それが何故(どういう規則で)、『16進数「50」』になるんです??

例えて言えば・・・

『2時間』を『120分』にするやり方は分かるのですが、
『2時間』を『2分』にする方法を教えて下さい。

といっているような物です・・・

別の事をやりたいのでは???

この回答への補足

書き方が悪くてすみません。本当に2時間を2分にしたいような書き方になってました。自分でもよく理解できていなかったようです。
tom11さんのように&Hを文字として扱って、変数と足し算する事で、思った結果になりました。

補足日時:2007/01/31 08:48
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2007/01/31 09:08

10進数「50」をBCDで「5」と「0」に分けて、


16×「5」+「0」
とすれば、
10進数「80」=2進数「101 0000」=16進数「50」
になると思いますが、こういうことではないのかな?
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみませんでした。書き方がとても悪く、質問内容が良く分からなくなっておりました。tom11様が書いてくださった方法の事を聞きたかったのですが、全く違う質問になってしまったように思います。わざわざご回答くださいましてありがとうございました。

お礼日時:2007/01/31 09:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!