Jenis Data UInteger
Menyimpan bilangan bulat 32-bit (4-byte) yang tidak ditandai berkisar antara 0 hingga 4.294.967.295.
Keterangan
Jenis data UInteger
menyediakan nilai terbesar yang tidak ditandatangani dalam lebar data yang paling efisien.
Nilai default dari UInteger
adalah 0.
Penetapan harfiah
Anda dapat mendeklarasikan dan menginisialisasi variabel UInteger
dengan menetapkan harfiah desimal, harfiah heksadesimal, harfiah oktal, atau (dimulai pada Visual Basic 2017) harfiah biner. Jika harfiah bilangan bulat berada diluar rentang dari UInteger
(maka, jika ia kurang dari UInt32.MinValue atau lebih dari UInt32.MaxValue, kesalahan kompilasi terjadi.
Dalam contoh berikut, bilangan bulat sama dengan 3.000.000.000 yang dinyatakan sebagai literal desimal, heksadesimal, dan biner ditetapkan ke nilai UInteger
.
Dim uintValue1 As UInteger = 3000000000ui
Console.WriteLine(uintValue1)
Dim uintValue2 As UInteger = &HB2D05E00ui
Console.WriteLine(uintValue2)
Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
' 3000000000
' 3000000000
' 3000000000
Catatan
Anda menggunakan awalan &h
atau &H
untuk menunjukkan harfiah heksadesimal, awalan &b
atau &B
untuk menunjukkan harfiah biner, dan awalan &o
atau &O
untuk menunjukkan harfiah oktal. Harfiah desimal tidak memiliki awalan.
Dimulai dari Visual Basic 2017, Anda juga dapat menggunakan karakter garis bawah, _
, sebagai pemisah digit untuk meningkatkan keterbacaan, seperti yang ditunjukkan contoh berikut.
Dim uintValue1 As UInteger = 3_000_000_000ui
Console.WriteLine(uintValue1)
Dim uintValue2 As UInteger = &HB2D0_5E00ui
Console.WriteLine(uintValue2)
Dim uintValue3 As UInteger = &B1011_0010_1101_0000_0101_1110_0000_0000ui
Console.WriteLine(uintValue3)
' The example displays the following output:
' 3000000000
' 3000000000
' 3000000000
Dimulai dari Visual Basic 15.5, Anda juga dapat menggunakan karakter garis bawah (_
) sebagai pemisah utama antara awalan dan digit heksadesimal, biner, atau oktal. Contohnya:
Dim number As UInteger = &H_0F8C_0326
Untuk menggunakan karakter garis bawah sebagai pemisah utama, Anda harus menambahkan elemen berikut ke file proyek Visual Basic (*.vbproj):
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
Untuk informasi selengkapnya, lihat Memilih versi bahasa Visual Basic.
Literal numerik juga dapat menyertakan UI
karakter atau ui
jenis untuk menunjukkan UInteger
jenis data, seperti yang ditunjukkan contoh berikut.
Dim number = &H_0FAC_14D7ui
Tips pemrograman
Jenis data UInteger
dan Integer
memberikan performa optimal pada prosesor 32-bit, karena jenis bilangan bulat yang lebih kecil (UShort
, Short
, Byte
, dan SByte
), meskipun menggunakan lebih sedikit bit, butuh lebih banyak waktu untuk memuat, menyimpan, dan mengambil.
Angka Negatif. Karena
UInteger
merupakan jenis yang tidak ditandatangani, jenis tidak dapat mewakili angka negatif. Jika Anda menggunakan operator tunggal minus (-
) pada ekspresi yang mengevaluasi untuk mengetikUInteger
, Visual Basic mengonversi ekspresi menjadiLong
terlebih dahulu.Kepatuhan CLS. Jenis data
UInteger
bukan bagian dari Common Language Specification (CLS), sehingga kode yang mematuhi CLS tidak dapat memakai komponen yang menggunakannya.Pertimbangan Interop. Apabila Anda berinteraksi dengan komponen yang tidak ditulis untuk .NET Framework, misalnya objek Automation atau COM, ingatlah bahwa jenis seperti
uint
memiliki lebar data yang berbeda (16 bit) di lingkungan lain. Jika Anda meneruskan argumen 16-bit ke komponen tersebut, nyatakan sebagaiUShort
alih-alihUInteger
dalam kode Visual Basic terkelola Anda.Pelebaran. Jenis data
UInteger
diperluas menjadiLong
,ULong
,Decimal
,Single
, danDouble
. Ini berarti Anda dapat mengonversiUInteger
ke salah satu jenis ini tanpa mengalami kesalahan System.OverflowException.Ketik Karakter. Menambahkan karakter jenis literal
UI
ke literal memaksanya ke jenis dataUInteger
.UInteger
tidak memiliki karakter jenis pengidentifikasi.Jenis Kerangka. Jenis yang sesuai dalam .NET Framework adalah struktur System.UInt32.