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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- その他(プログラミング・Web制作) ColabでのPytorchのエラー 1 2022/11/19 20:51
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) Worksheets メソッドは失敗しました。のエラー処理のやり方 4 2022/05/29 21:29
- C言語・C++・C# C言語 leetcode21 Merge Two Sorted Lists 2 2022/04/24 19:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- C言語・C++・C# leetcode21 1 2022/04/21 11:53
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
16進の10進変換について
Visual Basic(VBA)
-
VBの「As String * 128」とは?
Visual Basic(VBA)
-
VBA2005 16進を2桁で表示したい。
Visual Basic(VBA)
-
-
4
「&HFFFF」「&H1A」とは?
Visual Basic(VBA)
-
5
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
6
Visual Basic でのコードをASCII変換、16進変換したものを元に戻す方法を教えてください
Visual Basic(VBA)
-
7
16進コード文字列を文字列に変換
Visual Basic(VBA)
-
8
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
9
VB6.0で&"の意味"
Visual Basic(VBA)
-
10
VBの質問#if 0 then ってどう言う意味?
Excel(エクセル)
-
11
MSCommを用いたRS-232-Cデータ転送
Visual Basic(VBA)
-
12
16進数を10進数に変換する方法...
Visual Basic(VBA)
-
13
アスキーコードへの変換について VB6(初心者)
Visual Basic(VBA)
-
14
バイト型のデータをLong型に変換
Visual Basic(VBA)
-
15
VB.NETで16進数+16進数や16進数*nをやる方法
Visual Basic(VBA)
-
16
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
17
他のモジュールのプロシージャの呼び出したい。
Visual Basic(VBA)
-
18
配列を関数に渡す方法
Visual Basic(VBA)
-
19
DoEventsがやはり分からない
Visual Basic(VBA)
-
20
MSCommでoutputできない
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
エクセル フォルダの画像を画...
-
ネットワーク名が見つかりません
-
バッチファイルが不正終了して...
-
exeファイルを実行するとコマン...
-
VBscriptが起動しない?
-
PDFファイルを開き、印刷し、閉...
-
[teraterm] waitコマンドで停止...
-
複数のbatファイルを自動実行し...
-
pythonスクリプトを管理者権限...
-
VB.NETでのDOSコマンドを実行に...
-
「読み取りと実行」と「読み取...
-
ブラウザーのリンクをクリック...
-
NASに移したBATファイルからセ...
-
ファイルサイズ判定バッチ
-
シェルで5分前の時間を取得したい
-
Excel VBAで複数のバッチファイ...
-
windows10 デフォルトで開発出...
-
VBS実行時にコマンドプロンプト...
-
シナリオファイル名を変更でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
「読み取りと実行」と「読み取...
-
exeファイルを実行するとコマン...
-
バッチファイルの内容を表示さ...
-
エクセル フォルダの画像を画...
-
Excel VBA ステップインが途中...
-
VBscriptが起動しない?
-
ネットワーク名が見つかりません
-
Excel(エクセル) VBA プロシー...
-
VBS実行時にコマンドプロンプト...
-
PDFファイルを開き、印刷し、閉...
-
バッチファイルが不正終了して...
-
VBScriptでコマンドプロンプト...
-
batからexeを実行し戻り値を受...
-
複数のbatファイルを自動実行し...
-
[teraterm] waitコマンドで停止...
-
VB.NETでのDOSコマンドを実行に...
-
Powershellとコマンドプロンプト
-
これってパソコンの最適化が完...
-
VScodeのエラー解決法 Pythonの...
おすすめ情報