Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tabel berikut ini memperlihatkan jenis data Visual Basic, 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) |
| Karakter (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 PM 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.000000000000000000000000000001 (+/-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) |
| Objek | 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 independen dari 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.
Nota
Untuk string yang berisi teks, gunakan StrConv fungsi untuk mengonversi dari satu format teks ke format teks lainnya.
Selain menentukan jenis data dalam pernyataan deklarasi, Anda dapat memaksa jenis data dari beberapa elemen pemrograman dengan menggunakan karakter jenis. Lihat Tipe Karakter.
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, mungkin akan mengemas elemen yang dinyatakan sedekat 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.
Tipe 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 mengasumsikan 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 StructLayoutAttribute atribut ke kelas atau struktur.
Overhead Objek
Object Mengacu pada jenis data dasar atau komposit apa pun menggunakan 4 byte selain data yang terkandung dalam jenis data.