Bagikan melalui


Ringkasan Tipe Data (Visual Basic)

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.

Lihat juga