Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*• Sastaviti program na programskom jeziku C koji
- učitava pozitivan decimalan ceo broj u obliku niza
- znakova i ispisuje njegovu binarnu predstavu.
- Pretpostaviti da uneti znakovni niz nije duži od 10
- karaktera i da se za interno predstavljanje celih
- brojeva koristi 16 bita.
- • Standardne bibliotečke funkcije za ispis, poput
- printf, ne podržavaju ispis bitova celog broja
- – rešenje je u korišćenju bitskih operatora i odgovarajućih maski za
- ekstrakciju pojedinačnih bitova
- • Rešenje
- – prilikom čitanja stringa se koristi konverzija %s
- – za konverziju stringa u ceo broj se koristi bibliotečka funkcija atoi() koja
- vraća vrednost celog broja ili 0 ukoliko konverzija nije uspela*/
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- void main() {
- char dec[11];
- short int bin, i;
- printf("Unesite decimalan broj: ");
- /* ucitava string sa standardnog ulaza (dec=&dec[0]) */
- scanf("%s",dec);
- if (strlen(dec) && (bin=atoi(dec))) {
- printf("Binarni broj: ");
- i=-1;
- while (++i<16) {
- putchar((bin & 0x8000) ? '1' : '0');
- bin <<= 1 ;
- if (i%4 == 3) putchar(' ');
- }
- printf("\n");
- }
- else
- printf("Neispravan broj ili nula\n");
- }
- /*• Ispis binarne predstave celog broja:
- – u svakoj iteraciji petlje se ispiše jedan bit broja, počev od bita najveće težine
- bit15 bit14 ... bit2 bit1 bit0
- – koristi se maska 0x8000 za izdvajanje bita najveće težine, a zatim se broj
- pomera za jedno mesto ulevo */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement