
VisualBasic6.0で
Val("&H" & "F")
を実行すると、15
Val("&H" & "FF")
を実行すると、255
Val("&H" & "FFF")
を実行すると、4095
Val("&H" & "FFFF")
を実行すると、-1
Val("&H" & "FFFFF")
を実行すると、1048575
という結果が得られます。
なぜ”FFFF”の時に”-1”が返ってくるのでしょうか?
また、どうやったら、
”FFFF”から”65535”が得られるのでしょうか?
教えてください。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
VAL関数
指定した文字列に含まれる数値を適切なデータ型に変換して返します。
FFFFは、INT型で扱える最大値なのでINT型と判定されます。
cint("&H"+"FFFF")だと、-1が返ります。
FFFFFは、INTの扱える値を超えたのでLONG型で判定される為に1048575と言う結果になるのです。
では、なぜマイナスになるのか?
FFFFを2進数で表すと以下のようになりますね。
11111111 11111111 11111111 11111111
↑先頭の1バイト目が1だとマイナスとして扱われます。
以上です。
No.1
- 回答日時:
clng("&H"+"FFFF")
csng("&H"+"FFFF")
cdbl("&H"+"FFFF")
上記3点なら、65535で帰ってきますよ。
要するに、うまく扱えないとかって理由です。
(詳しい事は・・・勘弁して(^^;)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
16進の10進変換について
Visual Basic(VBA)
-
上下の位置揃えについて
Visual Basic(VBA)
-
16進数を10進数に変換する方法...
Visual Basic(VBA)
-
-
4
マスクをとるとオーバーフローします
Visual Basic(VBA)
-
5
16進コード文字列を文字列に変換
Visual Basic(VBA)
-
6
「&HFFFF」「&H1A」とは?
Visual Basic(VBA)
-
7
VBの「As String * 128」とは?
Visual Basic(VBA)
-
8
教えてくださいエクセルセルの表示に関して
その他(コンピューター・テクノロジー)
-
9
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
10
Excel 16進数
Excel(エクセル)
-
11
VBA2005 16進を2桁で表示したい。
Visual Basic(VBA)
-
12
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
13
VB.netでDLLを読み込んで実行する際に、スタックを不安定にしていますというエラーが出ます。
Visual Basic(VBA)
-
14
コマンドボタンがあるかどうかを取得するには?
PowerPoint(パワーポイント)
-
15
「タイプ初期化子が例外をスローしました」エラー何?
Visual Basic(VBA)
-
16
VB6.0のフォーム間の関数呼び出しについて
Visual Basic(VBA)
-
17
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
18
VB6.0で&"の意味"
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
「win11-23H2」を「win11-24H2...
-
Windowsアプリケーションをメモ...
-
VBscriptが起動しない?
-
バッチファイルで以下のような...
-
.NETからストアドプロシージャ...
-
exeファイルを実行するとコマン...
-
cygwin上でvbscirptを実行する方法
-
これってパソコンの最適化が完...
-
[teraterm] waitコマンドで停止...
-
エクセルのVBAについて とある...
-
ftpコマンドを実行すると「425 ...
-
win10の「フォト」で、「次へ」...
-
大量のフォルダからひとつのフ...
-
一括でフォルダと同じ名前にフ...
-
コマンドプロンプトの「%1」と...
-
.htaccess で読み込む .htpassw...
-
複数の既成インストーラを連係...
-
.txtではなく.logの方が良いの...
-
パソコンのフォルダー内のファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
「win11-23H2」を「win11-24H2...
-
[teraterm] waitコマンドで停止...
-
「読み取りと実行」と「読み取...
-
これってパソコンの最適化が完...
-
バッチファイルの内容を表示さ...
-
exeファイルを実行するとコマン...
-
複数のbatファイルを自動実行し...
-
VBscriptが起動しない?
-
ExcelのVBAが特定のPC上でのみ...
-
Excel(エクセル) VBA プロシー...
-
Windows System32 Security Hea...
-
PDFファイルを開き、印刷し、閉...
-
VBScriptでコマンドプロンプト...
-
batからexeを実行し戻り値を受...
-
Access の VBA 実行中に他の操...
-
Excel VBA ステップインが途中...
-
【VB.NET】exeを実行すると「発...
-
バッチファイルが不正終了して...
-
VBA 既に開いているBookに継続...
おすすめ情報