menampilkan bit paling kanan dari nilai hexa yang telah digeser (C++)
yang lalu sudah dibahas program menggeser bit kekirin dan mengambil bit paling kiri (MSB), sekarang saya akan kasi tau gimana kalo bit yang diambil sebelah kanan (LSB).
caranya dengan melihat nilai tersebut ganjil atau genap dengan cara membagi 2 sehingga akan bersisa 1 atau 0 untuk nilai integer.
program berikut ini akan lakukan langkah sebagai berikut:
1. mengambil data karakter yang kita ketik dari keyboard
2. mengubah ke hexa dan ditampilkan
3. menggeser kekanan dan menampilkan nilai hexa hasil geser
4. mengambil sisa
5. tampilkan sisa
penjelasan kasus:
jika nilai ganjil pada biner selalu pada LSB nya berlogika 1 dan jika genap selalu berlogika 0, maka dengan udah kita akan membagi 2 bilangan yang ingin diambil bit kanannya dan menampilkannya. mudah kan?
berikut dibawah ini adalah programnya:
#include
#include
main()
{
char karakter;
int geser,bit;
clrscr();
printf("masukkan karakter = ");
scanf ("%c",&karakter);
printf("nilai hexa dari karakter %c adalah %xh\n\n",karakter,karakter);
geser=karakter>>1;
printf("geser bit kekanan dari %xh menjadi %xh\n\n",karakter,geser);
if(geser<=0x07f)
printf("nilai biner kanan adalah : %d",bit=0);
else
printf("nilai biner kiri adalah : %d",bit=1);
getch();
}
sekian dan terimakasih.
kalau da kesalahan mohon kritikannya.
caranya dengan melihat nilai tersebut ganjil atau genap dengan cara membagi 2 sehingga akan bersisa 1 atau 0 untuk nilai integer.
program berikut ini akan lakukan langkah sebagai berikut:
1. mengambil data karakter yang kita ketik dari keyboard
2. mengubah ke hexa dan ditampilkan
3. menggeser kekanan dan menampilkan nilai hexa hasil geser
4. mengambil sisa
5. tampilkan sisa
penjelasan kasus:
jika nilai ganjil pada biner selalu pada LSB nya berlogika 1 dan jika genap selalu berlogika 0, maka dengan udah kita akan membagi 2 bilangan yang ingin diambil bit kanannya dan menampilkannya. mudah kan?
berikut dibawah ini adalah programnya:
#include
#include
main()
{
char karakter;
int geser,bit;
clrscr();
printf("masukkan karakter = ");
scanf ("%c",&karakter);
printf("nilai hexa dari karakter %c adalah %xh\n\n",karakter,karakter);
geser=karakter>>1;
printf("geser bit kekanan dari %xh menjadi %xh\n\n",karakter,geser);
if(geser<=0x07f)
printf("nilai biner kanan adalah : %d",bit=0);
else
printf("nilai biner kiri adalah : %d",bit=1);
getch();
}
sekian dan terimakasih.
kalau da kesalahan mohon kritikannya.