English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Função C

Array C

Ponteiro C

String C

Estrutura de linguagem C

Arquivo de linguagem C

Outros C

Manual de referência do C

Programa C para conversão de binário e octal

大全 de Exemplos de Programação C

Neste exemplo, você aprenderá a converter manualmente números binários para octais e números octais para binários através da criação de funções definidas pelo usuário.

Para entender este exemplo, você deve saber o seguinteProgramação em CTema:

Programa para converter binário para octal

Neste programa, primeiro convertiremos o número binário para decimal. Em seguida, o número decimal será convertido para octal.

#include <math.h>
#include <stdio.h>
int convert(long long bin);
int main() {
    long long bin;
    printf("Digite um número binário: ");
    scanf("%lld", &bin);
    printf("%lld (binário) = %d (octal)", bin, convert(bin));
    return 0;
}
int convert(long long bin) {
    int oct = 0, dec = 0, i = 0;
    //Converter de binário para decimal
    while (bin != 0) {
        dec += (bin %% 10) * pow(2, i);
        ++;
        bin /= 10;
    }
    i = 1;
    //Conversão de decimal para octal
    while (dec != 0) {
        oct += (dec % 8) * ;
        dec /= 8;
        i *= 10;
    }
    return oct;
}

Resultado de Saída

Digite um número binário: 101001
101001(binário) = 51(octal)

Programa para converter octal para binário

Neste programa, o número octal será convertido para decimal. Em seguida, o número decimal será convertido para binário.

#include <math.h>
#include <stdio.h>
long long convert(int oct);
int main() {
    int oct;
    printf("Digite um número octal: ");
    scanf("%d", &oct);
    printf("%d (octal) = %lld (binário)", oct, convert(oct));
    return 0;
}
long long convert(int oct) {
    int dec = 0, i = 0;
    long long bin = 0;
    // Converter de octal para decimal
    while (oct != 0) {
        dec += (oct %% 10) * pow(8, i);
        ++;
        oct /= 10;
    }
    i = 1;
   // Converter Decimal para Binário
    while (dec != 0) {
        bin += (dec % 2) * ;
        dec /= 2;
        i *= 10;
    }
    return bin;
}

Resultado de Saída

Entre com o número octal: 51
51(Octal) =101001(Binário)

大全 de Exemplos de Programação C