Ringkasan Tipe Data (Visual Basic)
Tabel berikut ini memperlihatkan Visual Basic jenis data, jenis runtime bahasa umum pendukungnya, alokasi penyimpanan nominalnya, dan rentang nilainya.
Jenis Visual Basic | Struktur jenis runtime bahasa umum | Alokasi penyimpanan nominal | Rentang Nilai |
---|---|---|---|
Boolean | Boolean | Bergantung pada penerapan platform | True atau False |
Byte | Byte | 1 byte | 0 hingga 255 (tidak ditandatangani) |
Char (karakter tunggal) | Char | 2 byte | 0 hingga 65535 (tidak ditandatangani) |
Tanggal | DateTime | 8 byte | 0:00:00 (tengah malam) pada 1 Januari 0001 hingga 11:59:59 malam pada 31 Desember 9999 |
Desimal | Decimal | 16 byte | 0 hingga +/-79.228.162.514.264.337.593.543.950.335 (+/-7.9...E+28) † tanpa titik desimal; 0 hingga +/-7.9228162514264337593543950335 dengan 28 tempat di sebelah kanan desimal; angka bukan nol terkecil adalah +/-0.0000000000000000000000000001 (+/-1E-28) † |
Ganda (titik mengambang presisi ganda) | Double | 8 byte | -1.79769313486231570E+308 hingga -4.94065645841246544E-324 † untuk nilai negatif; 4.94065645841246544E-324 hingga 1.79769313486231570E+308 † untuk nilai positif |
Bilangan bulat | Int32 | 4 byte | -2.147.483.648 hingga 2.147.483.647 (ditandatangani) |
Panjang (bilangan bulat panjang) | Int64 | 8 byte | -9.223.372.036.854.775.808 hingga 9.223.372.036.854.775.807 (9,2...E+18 †) (ditandatangani) |
Object | Object(kelas) | 4 byte pada platform 32-bit 8 byte pada platform 64-bit |
Jenis apa pun dapat disimpan dalam variabel jenis Object |
Sbyte | SByte | 1 byte | -128 hingga 127 (ditandatangani) |
Pendek (bilangan bulat pendek) | Int16 | 2 byte | -32.768 hingga 32.767 (ditandatangani) |
Tunggal (titik mengambang presisi tunggal) | Single | 4 byte | -3.4028235E+38 hingga -1.401298E-45 † untuk nilai negatif; 1.401298E-45 hingga 3.4028235E+38 † untuk nilai positif |
String (panjang variabel) | String(kelas) | Bergantung pada penerapan platform | 0 hingga sekitar 2 miliar karakter Unicode |
UInteger | UInt32 | 4 byte | 0 hingga 4,294,967,295 (tidak ditandatangani) |
ULong | UInt64 | 8 byte | 0 hingga 18,446,744,073,709,551,615 (1.8...E+19 †)(tidak ditandatangani) |
Ditentukan-Pengguna (struktur) | (mewarisi dari ValueType) | Bergantung pada penerapan platform | Setiap anggota struktur memiliki rentang yang ditentukan oleh jenis datanya dan tidak dipengaruhi oleh rentang anggota lain |
UShort | UInt16 | 2 byte | 0 hingga 65,535 (tidak ditandatangani) |
† Dalam notasi ilmiah, "E" mengacu pada kekuatan 10. Jadi 3,56E+2 menandakan 3,56 x 102 atau 356, dan 3,56E-2 menandakan 3,56 / 102 atau 0,0356.
Catatan
Untuk string yang berisi teks, gunakan fungsi StrConv untuk mengonversi dari satu format teks ke format teks lainnya.
Selain menentukan jenis data dalam pernyataan deklarasi, Anda dapat menerapkan jenis data dari beberapa elemen pemrograman dengan menggunakan karakter jenis. Lihat Karakter Jenis.
Konsumsi Memori
Ketika Anda mendeklarasikan jenis data dasar, tidak aman untuk mengasumsikan bahwa konsumsi memorinya sama dengan alokasi penyimpanan nominalnya. Hal ini disebabkan oleh pertimbangan berikut:
Penugasan Penyimpanan. Runtime bahasa umum dapat menetapkan penyimpanan berdasarkan karakteristik platform saat ini tempat aplikasi Anda dijalankan. Jika memori hampir penuh, memori mungkin mengemas elemen yang dinyatakan seketat mungkin. Dalam kasus lain mungkin menyelaraskan alamat memori mereka dengan batas perangkat keras alami untuk mengoptimalkan performa.
Lebar Platform. Penugasan penyimpanan pada platform 64-bit berbeda dari penugasan pada platform 32-bit.
Jenis Data Komposit
Pertimbangan yang sama berlaku untuk setiap anggota jenis data komposit, seperti struktur atau array. Anda tidak dapat mengandalkan hanya menambahkan bersama-sama alokasi penyimpanan nominal anggota jenis. Selain itu, ada pertimbangan lain, seperti berikut ini:
Overhead. Beberapa jenis komposit memiliki persyaratan memori tambahan. Misalnya, array menggunakan memori tambahan untuk array itu sendiri dan juga untuk setiap dimensi. Pada platform 32-bit, overhead ini saat ini 12 byte ditambah 8 byte untuk setiap dimensi. Pada platform 64-bit, persyaratan ini digandakan.
Tata letak Penyimpanan. Anda tidak dapat dengan aman berasumsi bahwa urutan penyimpanan dalam memori sama dengan urutan deklarasi Anda. Anda bahkan tidak dapat membuat asumsi tentang perataan byte, seperti batas 2-byte atau 4-byte. Jika Anda mendefinisikan kelas atau struktur dan Anda perlu mengontrol tata letak penyimpanan anggotanya, Anda dapat menerapkan atribut StructLayoutAttribute ke kelas atau struktur.
Overhead Objek
Suatu Object
mengacu pada jenis data dasar atau komposit menggunakan 4 byte selain data yang terkandung dalam jenis data.