ad esempio(esempio tratto da questo sito):
Dato un numero 8 calcoliamo il codice binario
1)8/2 = 4 ; quindi sarà 0
2)4/2 = 2 ; quindi sarà 0
3)2/2 = 1 ; quindi sarà 0
4)1/2 = 0.5 ; quindi sarà 1
Il codice del valore 8 sarà : 1000 (i numeri poi si scrivono in senso inverso al quale si sono trovati).
Purtroppo questo programma al momento non è in grado di calcolare i numeri negativi a causa del complemento a due! Bisogna implementare un po il codice che ho messo tra /* */ (per il momento non ne ho ne voglia ne tempo.. se ci vuole lavorare qualcuno, mi farebbe un grande favore se mi restituisse la soluzione!)
Passiamo al codice:
- public class Bincon3
- {
- {
- int a = 6;
- int cont = 0;
- if (a>=0)
- {
- int ax = a;
- while (ax != 0)
- {
- int cifra = ax%2;
- ax /=2;
- cont++;// non indispensabile
- }
- while (cont!=32)// non indispensabile
- {
- cont++;
- }
- }
- else
- {
- System.out.println("al momento non sono in grado di convertire un numero intero negativo in cifra binaria");
- /*int ay = -a;
- while (ay != 0)
- {
- int cifra = ay%2;
- ay /=2;
- cont++;
- if (cifra != 0)
- System.out.println(0);
- else
- System.out.println(1);
- }
- while (cont!=32)
- {
- cont++;
- System.out.println(1);
- }*/
- } //da implementare la somma di uno! incompleto
- }
- }
Un metodo alternativo valido per i numeri negativi è disponibile quì
Potete trovare tutti i miei programmi quì.
Nessun commento:
Posta un commento