1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
|
public class Infoboard {
static void PrintBinary(int n, int pad, String meaning) {
System.out.println();
if (meaning != "")
System.out.print(meaning + ": ");
String bits = Integer.toBinaryString(n);
while (bits.length() < pad)
bits = "0" + bits;
System.out.println(bits);
}
static float doubleValue(float f) {
int n = Float.floatToIntBits(f);
PrintBinary(n, 32, "");
System.out.println("VEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM");
//Vorzeichen, Exponent (8 Bits), Mantisse (23 Bits)
int exponent = (n >> 23) & 0xff;
PrintBinary(exponent, 8, "Exponent");
//Exponent auf 0 setzen
n ^= exponent << 23;
PrintBinary(n, 32, "");
System.out.println("VEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM");
exponent++;
n |= exponent << 23;
PrintBinary(n, 32, "");
System.out.println("VEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM");
return Float.intBitsToFloat(n);
}
public static void main(String[] args) {
float f = 10;
System.out.println(f + " --> " + doubleValue(f));
}
} |