Используя код , выведите на консоль значение мантиссы в двоичном представлении
Используя код, выведите на консоль значение мантиссы в двоичном представлении.
package com.company;
public class Main {
public static void main(String[] args) {
double d =75.38;
String sResult,tResult,d2Result;
long numberBits=Double.doubleToLongBits(d);
sResult=Long.toBinaryString(numberBits);
System.out.println("Представление вещественного числа в формате чисел с плавающей точкой");
System.out.format("Число: %5.2f\n",d);
System.out.println("Формат числа с плавающий точкой");
//ведущий ноль заботливо сокращен системой, поэтому его нужно восстановить
System.out.println(d>0?"0"+sResult:sResult);
}
}
Думал вычестить из числа его целую часть
int i=(int)d;
double d2=d-i;
System.out.format("Число: %5.2f\n",d2);
System.out.println(d2Result);
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
import java.util.*;
import java.lang.*;
import java.io.*;
class Ideone {
public static void main (String[] args) throws java.lang.Exception {
for (double d : new double [] {0., 2., -2., 4503599627370496., 9007199254740992., 9007199254740994., 75.38}) {
String bits = Long.toBinaryString(Double.doubleToLongBits(d));
bits = "0".repeat(64 - bits.length()) + bits;
String m = bits.substring(12);
System.out.println(d);
System.out.println(bits);
System.out.println(m);
System.out.println();
}
}
}