Rabu, 20 April 2011

Bitfield

Berikut adalah contoh Bitfield didalam pemrograman bahasa C :


Contoh 1
/* --------------------------------------- */
/* file program : BITF1 */
/* contoh bitfield untuk menampilkan */
/* bentuk biner dari nilai 65 */
/* -------------------------------------- */
#include "stdio.h"
main()
{
 /* definisi tipe bit field */
 struct info_byte
 {
  unsigned bit0 : 1; /*bit ke-0 */
  unsigned bit1 : 1; /*bit ke-1 */
  unsigned bit2 : 1; /*bit ke-2 */
  unsigned bit3 : 1; /*bit ke-3 */
  unsigned bit4 : 1; /*bit ke-4 */
  unsigned bit5 : 1; /*bit ke-5 */
  unsigned bit6 : 1; /*bit ke-6 */
  unsigned bit7 : 1; /*bit ke-7 */
 };

 /* deklarasi variabel union dan elemen bit field */
 union{
  unsigned char karakter;
  struct info_byte byte;
  }ascii;

 ascii.karakter='A';  /* atau bilangan 65 */

 printf("Bentuk biner dari nilai %d adalah ",ascii.karakter);
 printf("%d%d%d%d%d%d%d%d\n",ascii.byte.bit7,ascii.byte.bit6,
        ascii.byte.bit5,ascii.byte.bit4,
        ascii.byte.bit3,ascii.byte.bit2,
        ascii.byte.bit1,ascii.byte.bit0);
 getch();
}
Contoh 2
/* --------------------------------------- */
/* file program: BITF.2 */
/* contoh lain mengenai bitfield  */
/* --------------------------------------- */
#include "stdio.h"

main()
{
 struct {
  unsigned info_x : 2;  /* nilai berupa 0,1,2 atau 3 */
  unsigned info_y : 1;  /* nilai berupa 0 atau 1 */
  } status;             /* variabel structur ber-bitfield */

 /* contoh pemberian nilai ke variabel bitfield */
 status.info_x = 3;
 status.info_y = 1;

 /* contoh menamoilkan isi variabel bitfiled */
 printf("info_x = %d\ninfo_y = %d\n",status.info_x,status.info_y);
 getch();
}

Sumber : Abdul Kadir, 2003 Pemrograman Dasar Turbo C untuk IBM PC.

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Justin Bieber, Gold Price in India