edutecnica

Esercizio 1        

Scrivere un programma in linguaggio Java che legga da tastiera un numero binario puro sotto forma di una stringa di caratteri (0 o 1) lunga al massimo 8 bit e la passi ad una funzione che restituisca l'equivalente valore in decimale.


import java.util.Scanner;
class daBinADec{
public static void main (String args []){
Scanner in=new Scanner(System.in);

String st="";
System.out.print("bin:");
st=in.nextLine();
System.out.print(dec(st));
in.close();
}//fine main

static int dec(String s){
int i,j=0,num=0;
int T[]={0,0,0,0,0,0,0,0};
boolean nonva=false;
for(i=0;i < s.length();i++)
     if(s.charAt(i)=='1')T[i]=1;
     else if (s.charAt(i)=='0')T[i]=0;
     else nonva=true;
/* composizione del numero decimale basandosi sui valori
memorizzati nel vettore di interi */

for(i=s.length()-1;i>=0;i--){
     num+=T[i]*Math.pow(2,j);
     j++;
}//fine for
if(!nonva)return num;
else return 0;
}//fine dec
}// fine classe