package esimerkit; public class Desimaaliluvut { /** * * @param bitit * @return */ public static String bittiEsitysNatiksi(String bitit) { StringBuilder temp = new StringBuilder(bitit); for(int i=8; i < temp.length(); i = i+9) { temp.insert(i,' '); } return temp.toString(); } public static String doubleToBits(double luku) { String luku_bitteina = Long.toBinaryString(Double.doubleToRawLongBits(luku)); if(0 <= luku) luku_bitteina = "0" + luku_bitteina; return bittiEsitysNatiksi(luku_bitteina); } public static void tulostaDoublejaBitteina(double alkaen, double asti, double vali) { if ( alkaen < asti) return; for(double luku = alkaen; luku >= asti; luku -= vali) System.out.printf("%-7.14f : %s \n", luku,doubleToBits(luku)); } /** * @param args */ public static void main(String[] args) { /*for(double luku = 10.000; luku >= -10.000; luku -= .00000000000001) System.out.printf("%-7.3f : %s \n", luku,doubleToBits(luku)); */ tulostaDoublejaBitteina(0.00000000001,0,0.00000000000001); } }