Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

ispisivanje brojeva u binarnom sistemu

[es] :: C/C++ programiranje :: ispisivanje brojeva u binarnom sistemu

[ Pregleda: 1746 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nenadnesta
Nenad Stojkovic
student

Član broj: 263759
Poruke: 23
212.200.65.*



Profil

icon ispisivanje brojeva u binarnom sistemu12.11.2010. u 09:34 - pre 166 meseci
evo jednog programa koji korektno funkcionise
,cita decimalne cele brojeve i ispisuje njihovu vrednost u binarnom obliku.

Code:
#include <stdio.h>
main() {
  short dec, i, bit;

  while(1) {
    printf("decimalni broj?");
    scanf("%hd, &dec");

    if(dec==9999) break;

    printf("binarni broj:");

    for(i=1; i<=16; i++)
    {
      bit=(dec&0x8000)!=0;

      printf ("%d",bit);
      if(i%4==0) printf(" ");

      dec<<=1;
    }

    printf ("\n");
  }
}


ako bi neko bio ljubazan da prokomentarise bit=(dec&0x8000)!=0; naredbu i da je malko detaljnije pojasni, u zagradama bi trebao biti 16 bitni broj valjda, kako to, tu mi neshto zapinje!! .....hvala.....

[Ovu poruku je menjao Mihajlo Cvetanović dana 12.11.2010. u 11:11 GMT+1]
 
Odgovor na temu

peca89bg
Beograd

Član broj: 202034
Poruke: 354
95.180.24.*



+6 Profil

icon Re: ispisivanje brojeva u binarnom sistemu13.11.2010. u 17:07 - pre 166 meseci
Code:

#include <stdio.h>

/* Funkcija stampa bitove datog celog broja x.
Vrednost bita na poziciji i je 0 ako i samo ako se pri konjunkciji
broja x sa maskom 000..010....000 - sve 0 osim 1 na poziciji i, dobija 0.
Funkcija krece od pozicije najvece tezine kreirajuci masku pomeranjem
jedinice u levo za duzina(x) - 1 mesto, i zatim pomerajuci ovu masku za
jedno mesto udesno u svakoj sledecoj iteraciji sve dok maska ne postane 0.
*/

void print_bits(int x)
{
/* Broj bitova tipa unsigned */
int wl = sizeof(int)*8;
unsigned mask;
for (mask = 1<<wl-1; mask; mask >>= 1)
putchar(x&mask ? '1' : '0');
putchar('\n');
}
main()
{
print_bits(127);
print_bits(128);
}


ovo ti je mnogo bolje resenje...
 
Odgovor na temu

[es] :: C/C++ programiranje :: ispisivanje brojeva u binarnom sistemu

[ Pregleda: 1746 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.