Menu
Coddy logo textTech

Introduction

Lição 18 de 20 do curso Enigmas Matemáticos da Coddy.

Um número binário é um número expresso no sistema de numeração de base 2 ou sistema de numeração binário, um método de expressão matemática que utiliza apenas dois símbolos: tipicamente "0" (zero) e "1" (um). [Da Wikipédia, a enciclopédia livre]

As notações: 110=12, 210=102, 310=112, 410=1002 significam que os números 1, 2, 3 e 4 no sistema de numeração decimal (sistema de numeração de base 10) são iguais a 1, 10, 11 e 100 no sistema de numeração binário.

Contar em binário é semelhante a contar em qualquer outro sistema numérico. Começando com um único dígito, a contagem prossegue através de cada símbolo, em ordem crescente.

 

Para converter um número inteiro de base 10 para o seu equivalente de base 2 (binário), o número é dividido por dois. O resto é o bit menos significativo (o bit mais à direita). O quociente é novamente dividido por dois; seu resto torna-se o próximo bit menos significativo. Este processo se repete até que um quociente de um seja alcançado. A sequência de restos (incluindo o quociente final de um) forma o valor binário, pois cada resto deve ser zero ou um ao dividir por dois. Por exemplo, 510 é expresso como 1012, já que:

cinco dividido por dois é 2 e um resto de um: 5:2 = 2(1). Portanto, o bit menos significativo é um. Em seguida, 2:2=1(0). Portanto, o próximo bit menos significativo é zero, e o próximo é um.

 

challenge icon

Desafio

Fácil

Escreva uma função calcBinary que recebe um número inteiro na base 10 e retorna seu número binário equivalente, no formato de string.

Tente fazer isso sem usar funções integradas (built-in)

Experimente você mesmo

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"

int main() {
    int n;
    if (scanf("%d", &n) != 1) n = 0;
    char* r = calcBinary(n);
    printf("%s\n", r);
    return 0;
}

Todas as lições de Enigmas Matemáticos

9Binary numbers

Introduction