P_141 #include main() { // Prijava varijabli short a, b, m, i, nb; unsigned short mask; // Velicina podatka u bitovima nb = 8*sizeof(short); m = 0x1 << (nb - 1); // Smjesta broj 1 u krajnje lijevi bit // Glavni ophod programa do { // Unos cijeloga broja printf ("\n\nUpisite cijeli broj (za kraj: 0): "); scanf ("%d", &a); // Prikaz "bit po bit" mask = m; for ( i=1; i<=nb; i++ ) { b = (a & mask) ? 1 : 0; // "Izvlacenje" binarne znamenke printf ("%x", b); if ( i % 4 == 0 ) // Praznina svaka 4 znaka printf (" "); mask >>= 1; // Pomak maske za jedno mjesto udesno } } while (a != 0); return 0; } ------------------------------------------------------------------------------------ P_142 #include main() { // Prijava strukture struct Sitno { unsigned a : 5; unsigned b : 2; unsigned c : 1; unsigned d : 5; }; // Prijava podatka (Pozor: treci podatak "nema dovoljno mjesta") static struct Sitno A = { 1, 2, 3, 4 }; // Ispis rezultata printf ("\nA.a = %d A.b = %d A.c = %d A.d = %d", A.a, A.b, A.c, A.d); printf ("\nA zauzima %d bajta u memoriji\n", sizeof (A)); return 0; } ------------------------------------------------------------------------------------ P_144 #include #define NULL 0 main( int argc, char *argv[] ) { // Prijava podataka char c; FILE *fp; // Otvaranje spisa if ((fp = fopen(argv[1], "r")) == NULL) puts ("\nGRESKA!"); else // Ispis sadrzaja spisa na zaslon, znak po znak while ( !feof( fp )) putchar (c = getc ( fp )); puts ("\n"); fclose ( fp ); return 0; }