Algoritmos dos programas

  1. reprint.c
    -Atribua o valor 100 à variável X
    -Imprima o valor que o padrão de bits da variável X está representando quando considerarmos como sendo um inteiro com sinal (complemento a 2), um inteiro sem sinal na base 16, um inteiro sem sinal na base 10, um caracter, e um inteiro sem sinal na base 8.
    #include "stdio.h"
    
    int main (void) {
      int x = 100;
      printf("%d  %x  %u  %c  %o\n", x, x, x, x, x);
      return 0;
    }
    
  2. tam.c
    -Imprima o número de bytes que o tipo inteiro utiliza em C
    #include "stdio.h"
    
    int main (void) {
       printf("%d\n", sizeof(int));
       return 0;
    }
    
  3. vermem.c
    -Subrotina dump:
    -Recebe como parâmetros um endereço inicial de uma variável (*p) e o número de bytes que C utiliza para representá-la (n)
    -Enquanto existem bytes a serem impressos
    -Imprime em hexadecimal o endereços do byte e o byte
     
    #include "stdio.h"
    
    void dump (void *p, int n) {
      unsigned char *p1 = p;
      while (n--) {
        printf("Endereco %p - %02x\n", p1, *p1);
        p1++;
      }
    }
    int main (void) {
      int i = 16;
      dump(&i, sizeof(i));
      return 0;
    }
    
  4. soma.c
    -Atribua o valor 32767 à variável i do tipo short int
    -Incremente i de 1
    -Imprima i como um inteiro com sinal representado em complemento a 2
    #include "stdio.h"
    
    int main (void) {
       short int i = 32767;
       i = i+1;
       printf("%d \n", i);
       return 0;
    }