INF1018 - Software Básico

Representação de Dados: inteiros sem sinal - Exercícios Extra

  1. Escreva uma função que retorne 1 se a memória tem organização little-endian e 0 caso contrário:
    int is_little();
    
    Escreva também uma função main para testar sua função is_little. Compile e execute o seu programa, e verifique se ele informa, corretamente, que a memória é little_endian.

    Dica: você pode "quebrar" o sistema de tipos para inspecionar isoladamente os bytes de um valor inteiro de qualquer tamanho...


  2. Escreva a função inversa da última função do lab2: num2string. Ela deverá converter um valor inteiro para uma string contendo um numeral que represente esse valor na base indicada.

    A função num2string deve receber um ponteiro para um buffer onde escreverá o resultado, o valor a ser convertido e a base para a conversão:

    void num2string(char *s, int num, int base);
    

    Para simplificar, assuma que o buffer tem tamanho suficiente para guardar todo o resultado.