Bit Fields Pada Bahasa Pemrograman C

Assalamu'alaikum poinreaders,
Bit fields adalah struktur data yang digunakan dalam pemrograman komputer. Ini terdiri dari sejumlah lokasi memori komputer yang berdekatan yang telah dialokasikan untuk memegang urutan bit dan menyimpannya, sehingga setiap bit tunggal atau kelompok bit dalam sebuah himpunan dapat diatasi.

Bit Fields Pada Bahasa Pemrograman C

Dalam bahasa pemrograman C, kita dapat menentukan ukuran (dalam bit) sebuah anggota (member) dari tipe struct dan union, sehingga kita bisa menghemat memori yang ada. Bit field hanya dapat dideklarasikan dengan tipe int, signed atau unsigned.

Format Penulisan (dalam tipe struct) :
struct nama_struct {
   tipe_data nama_variabel : ukuran_bit;
};

Format Penulisan (dalam tipe union) :
union nama_union {
   tipe_data nama_variabel : ukuran_bit;
};

Contoh Penulisan :
#include <stdio.h>
#include <string.h>

//contoh bit fields dalam struct
struct nilai_siswa_1 {
   unsigned int nilai: 4;
};

//contoh bit fields dalam union
union nilai_siswa_2 {
   unsigned int nilai: 4;
};

int main( ) {

    struct nilai_siswa_1 nilai_1;
    union nilai_siswa_2 nilai_2;

    printf(" Contoh program penggunaan bit fields\n");
    printf(" ====================================\n");

    nilai_1.nilai = 10;
    printf(" Nilai 1 = %d\n", nilai_1.nilai);

    nilai_2.nilai = 17;
    printf(" Nilai 2 = %d", nilai_2.nilai);

    getch();
}

Output :
Gambar 1. Contoh program bit fields

Keterangan :
  • Nilai 1 akan menampilkan angka 10, karena nilai yang dimasukkan masih di dalam batas maksimal.
  • Nilai 2 akan menampilkan angka 1 (menghitung dari awal), karena nilai yang dimasukkan di luar batas maksimal.

Catatan :
  • 1 bit hanya dapat menampung 2 angka saja (21) yaitu 0 dan 1
  • 2 bit hanya dapat menampung 4 angka saja (22) yaitu 0, 1, 2, 3
  • 3 bit hanya dapat menampung 8 angka saja (23) yaitu 0, 1, 2, 3, 4, 5, 6, 7
  • dst.


Semoga materi yang saya sampaikan kali ini dapat bermanfaat bagi sobat poinreaders, jangan lupa follow akun sosial kami agar sobat poinreaders bisa mendapatkan materi terupdate tentang pemrograman lainnya.

Share this

Related Posts

Previous
Next Post »