Kang Nur


Suka main, njajan, dan data
Share: 

Diperbarui Senin, 04 Sep 2023

Ditulis oleh Kang Nur

Perbedaan Signed dan Unsigned pada Tipe Data Integer

Ketika kita melakukan analisis data menggunakan pandas, sering kali menjumpai tipe data integer berbentuk int8, int16 atau uint8. Apa maksudnya itu? Mari kita bahas secara detail:

  1. Signed Integer

    • Signed Integer adalah tipe data integer yang merepresentasikan nilai positif dan negatif, maksudnya bisa terdiri atau menyimpan bilang positif atau negatif.

    • Contoh tipe data signed integer adalah int8, int16, int32, dan int64. Angka di belakang int menandakan berapa banyak bit yang digunakan untuk merepresentasikan angka tersebut.

  2. Sebagai contoh, kita memiliki data dengan tipe data int8, artinya tipe data tersebut dapat menyimpan nilai dari -127 hingga 127. Dari mana angka tersebut? Mari kita hitung.

    Rumus untuk menghitung penyimpanan data tersebut adalah:

    $$2^{(n-1)} -1$$

    Dimana:

    • n adalah jumlah bit yang digunakan untuk merepresentasikan bilangan bulat.

    • Tanda bit pada eksponen digunakan untuk menunjukkan tanda positif atau negatif, sehingga kita mengurangkan satu dari eksponen.

    Pada contoh kita tadi yaitu int8, maka nilai maksimum yang dapat direpresentasikan adalah

    $$2^{8-1} -1 = 2^7-1=128-1=127$$

    Artinya, tipe data integer int8 dapat menyimpan atau mepresentasikan bilangan bulat dari -127 hingga 127.

  1. Unsigned Integer

    • Lawan dari signed integer adalah unsigned integer. Tipe data ini hanya dapat merepresentasikan atau menyimpan nilai positif.

    • Contoh tipe data unsigned integer adalah uint8, uint16, uint32, dan uint64. tanda u dalam uint menandakan bahwa tipe data ini adalah unsigned, yang berarti tanda bit tidak digunakan, dan semua bit berisi nilai positif.

  2. Sebagai contoh, kita memiliki data dengan tipe data uint8, artinya tipe data tersebut dapat menyimpan nilai dari 0 hingga 255. Dari mana angka tersebut? Mari kita hitung.

    Rumus untuk menghitung penyimpanan data tersebut adalah:

    $$2^{(n)} -1$$

    Dimana:

    • n adalah jumlah bit yang digunakan untuk merepresentasikan bilangan bulat.

    • Berbeda dengan rumus signed integer, rumus unsigned integer tidak memiliki tanda bit dikarenakan hanya merepresentasikan nilai positif. Artinya tidak ada pengurangan satu seperti pada tipe data signed.

    Pada contoh kita tadi yaitu uint8, maka nilai maksimum yang dapat direpresentasikan adalah:

    $$2^{8} -1 = 256 -1 = 255$$

    Artinya, tipe data integer uint8 dapat menyimpan atau mepresentasikan bilangan bulat dari 0 hingga 255.

,