Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Conversione decimale-binario
- import java.util.*;
- import java.io.*;
- class Conversionedb
- {
- String s="";
- public double todouble()
- {
- double md;
- md = Double.parseDouble(s);
- md=Math.abs(md);
- return md;
- }
- public double todouble1()
- {
- double md;
- md = Double.parseDouble(s);
- return md;
- }
- public String trovasegno()
- {
- String segno="";
- if(todouble()>=0){segno+=0;}
- else {segno+=1;}
- return segno;
- }
- public int separa_intero()
- {
- int intera = (int)todouble();
- return intera;
- }
- public double separa_decimale()
- {
- double dec=todouble()-separa_intero();
- return dec;
- }
- public String binariointero()
- {
- String binarioint=Integer.toBinaryString(separa_intero());
- return binarioint;
- }
- public String binariodecimale()
- {
- String binariodec="";
- double dec1;
- dec1=separa_decimale()*2;
- int ap;
- int i=0;
- do
- {
- if (i!=0){dec1=dec1*2;}
- ap=(int)dec1;
- dec1=dec1-ap;
- binariodec+=ap;
- i++;
- }while (dec1!=0.00 | i==3);
- return binariodec;
- }
- public String costruzionemantissa()
- {
- char car;
- String mantissa="";
- int ap;
- //mantissa = removeCh(binariointero(), 0);
- mantissa = binariointero().replaceFirst("1","");
- mantissa+=binariodecimale();
- int mantissan=mantissa.length();
- mantissan=23-mantissan;
- String zero="";
- for (int i=0;i<mantissan;i++)
- {
- zero+="0";
- }
- mantissa+=zero;
- return mantissa;
- }
- public String gestionesegno()
- {
- String segno="";
- double md=todouble1();
- if(md<0){segno="1";}
- else{segno="0";}
- return segno;
- }
- }
- class Principale1
- {
- public static void main(String args[])
- {
- boolean flag;
- flag=true;
- while(flag){
- System.out.println("Inserisci un numero decimale.ES: 3.5");
- System.out.println("[NB: Per un corretto funzionamento del programma la parte decimale del numero deve essere divisibile per 5]");
- Conversionedb co=new Conversionedb();
- try{
- Scanner input=new Scanner(System.in);
- co.s=input.nextLine();
- System.out.println("");
- System.out.println("Conversione parte intera: "+co.binariointero());
- System.out.println("Conversione parte decimale decimale: "+co.binariodecimale());
- System.out.println("Mantissa:"+co.costruzionemantissa());
- System.out.println("Segno:" + co.gestionesegno());
- Scanner scelta=new Scanner(System.in);
- System.out.println("Vuoi inserire un altro valore?\n S/N");
- boolean flag1=true;
- while(flag1){
- String r=scelta.nextLine();
- switch(r.toUpperCase()){
- case("S"):
- flag=true;
- flag1=false;
- break;
- case("N"):
- flag=false;
- flag1=false;
- break;
- default:
- System.out.println("Scelta non valida! Riprova");
- }
- }
- }
- catch(Exception e){
- System.out.println("Qualcosa e' andato storto, inserisci un altro valore");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement