0から始めるVisualStudio2022:ソフト開発塾

やっと、見つけたvisual basic で 変換処理
2022
]


「ファイル」「追加」「新しいプロジェクト」


「プロジェクト」「新しい項目の追加」
#pragma warning(disable : 4996)
#include 
int main() {
	FILE* fp;
	if ((fp = fopen("C:\\softca\\VB\\SAMP0250.DAT", "wb")) == NULL){

	}
	else {
		long long	i;
		for (i = 1; i < 0x100000000000; i += 0x11111111111) {
			fwrite(&i, 1, sizeof(i), fp);
		}
		i = -1;
		fwrite(&i, 1, sizeof(i), fp);
		i = -0x1111;
		fwrite(&i, 1, sizeof(i), fp);
		fclose(fp);
	}
}
ビルド
実行
して、データファイルを作成
Visual Basic側ソース
Imports System

Module Program
    Sub Main()
        Dim m_fs As System.IO.FileStream
        m_fs = System.IO.File.Open("C:\\softca\\VB\\SAMP0250.DAT", System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.None)
        Dim rc
        Dim mm_byte(2000) As Byte
        rc = m_fs.Read(mm_byte, 0, 2000)
        Dim mm_long As Long
        Dim i As Integer
        Dim mm_max As Integer
        mm_max = Int(rc / 8)
        For i = 0 To mm_max - 1
            mm_long = System.BitConverter.ToInt64(mm_byte, 8 * i)
            Console.WriteLine("" & i & " : " & mm_long & "  " & Hex(mm_long))
        Next
        Console.WriteLine("---")
        Dim mm_inte As Integer
        mm_max = Int(rc / 4)
        For i = 0 To mm_max - 1
            mm_inte = System.BitConverter.ToInt32(mm_byte, 4 * i)
            Console.WriteLine("" & i & " : " & mm_inte & "  " & Hex(mm_inte))
        Next
    End Sub
End Module
実行結果
0 : 1  1
1 : 1172812402962  11111111112
2 : 2345624805923  22222222223
3 : 3518437208884  33333333334
4 : 4691249611845  44444444445
5 : 5864062014806  55555555556
6 : 7036874417767  66666666667
7 : 8209686820728  77777777778
8 : 9382499223689  88888888889
9 : 10555311626650  9999999999A
10 : 11728124029611  AAAAAAAAAAB
11 : 12900936432572  BBBBBBBBBBC
12 : 14073748835533  CCCCCCCCCCD
13 : 15246561238494  DDDDDDDDDDE
14 : 16419373641455  EEEEEEEEEEF
15 : -1  FFFFFFFFFFFFFFFF
16 : -4369  FFFFFFFFFFFFEEEF
---
0 : 1  1
1 : 0  0
2 : 286331154  11111112
3 : 273  111
4 : 572662307  22222223
5 : 546  222
6 : 858993460  33333334
7 : 819  333
8 : 1145324613  44444445
9 : 1092  444
10 : 1431655766  55555556
11 : 1365  555
12 : 1717986919  66666667
13 : 1638  666
14 : 2004318072  77777778
15 : 1911  777
16 : -2004318071  88888889
17 : 2184  888
18 : -1717986918  9999999A
19 : 2457  999
20 : -1431655765  AAAAAAAB
21 : 2730  AAA
22 : -1145324612  BBBBBBBC
23 : 3003  BBB
24 : -858993459  CCCCCCCD
25 : 3276  CCC
26 : -572662306  DDDDDDDE
27 : 3549  DDD
28 : -286331153  EEEEEEEF
29 : 3822  EEE
30 : -1  FFFFFFFF
31 : -1  FFFFFFFF
32 : -4369  FFFFEEEF
33 : -1  FFFFFFFF
と、バイナリー Byte データを、VISUAL BASIC の 数値 Long や Integer に、変換するには
System.BitConverter.ToInt64
System.BitConverter.ToInt32
など
System.BitConverter で、行えるようである。








Top