Menu
Coddy logo textTech

Introduzione

Lezione 18 di 20 del corso Indovinelli matematici di Coddy.

Un numero binario è un numero espresso nel sistema numerico in base 2 o sistema numerico binario, un metodo di espressione matematica che utilizza solo due simboli: tipicamente "0" (zero) e "1" (uno). [Da Wikipedia, l'enciclopedia libera]

Le notazioni: 110=12, 210=102, 310=112, 410=1002 significano che i numeri 1,2,3 e 4 nel sistema numerico decimale (sistema numerico in base 10) sono uguali a 1,10,11 e 100 nel sistema numerico binario.

Contare in binario è simile a contare in qualsiasi altro sistema numerico. Iniziando con una singola cifra, il conteggio procede attraverso ogni simbolo, in ordine crescente.

 

Per convertire un numero intero in base 10 nel suo equivalente in base 2 (binario), si divide il numero per due. Il resto è il bit meno significativo (il bit più a destra). Il quoziente viene nuovamente diviso per due; il suo resto diventa il bit meno significativo successivo. Questo processo si ripete fino a raggiungere un quoziente pari a uno. La sequenza dei resti (incluso il quoziente finale pari a uno) forma il valore binario, poiché dividendo per due ogni resto deve essere zero oppure uno. Per esempio, 510 è espresso come 1012, poiché:

cinque diviso due dà 2 e un resto di uno: 5:2 = 2(1). Quindi il bit meno significativo è uno. Poi, 2:2=1(0). Quindi il bit meno significativo successivo è zero, e quello dopo è uno.

 

challenge icon

Sfida

Facile

Scrivi una funzione calcBinary che riceva un intero in base 10 e restituisca il suo equivalente numero binario, in formato stringa.

Prova a farlo senza funzioni integrate

Provalo tu

#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;
}

Tutte le lezioni di Indovinelli matematici

9Numeri binari

Introduzione

Esercitati da solo: Compilatore C online