Andere Interpretation eines Typs

Status
Nicht offen für weitere Antworten.

kopfsalat

Bekanntes Mitglied
Hi, ich suche eine Möglichkeit, z.B. die Bitfolge eines int-Wertes als float-Wert zu interpretieren, aber ohne den Wert in den anderen Typ umzuwandeln, sondern lediglich die Bitfolge anders zu interpretieren.
Dies ist in nicht streng typisierten Sprachen ja z.B. per undiscriminated Union-Types möglich, oder per direkter Speicherzugriffe.

Gibt es ähnliches in Java ? Habe nichts dergleichen in den Java-Docs / im Forum finden können.
 

Bleiglanz

Gesperrter Benutzer
Na sowas???

@Beni: wozu gibts denn die Methode? kann doch nichts sinnvolles dabei rauskommen???

Float.intBitsToFloat(42) ist zum Beispiel 5.9E-44??
 
S

stev.glasow

Gast
@Beiglanz:
Und in wie fern macht das jetzt keinen Sinn?
5.9E-44 ist doch in Ordnung.
DataInputStream und DataOutputStream arbeiten z.b. damit.
 
B

Beni

Gast
@Bleiglanz
raeusper.gif

Nur weil Du keinen Verwendungszweck in einer Methode siehst, muss das nicht heissen, dass sie keinen Sinn macht.

Wie denkst du kann man einen Float schnell aus einer Datei laden?

Man liest zuerst 4 Bytes, bastelt sie zu einem Integer zusammen, und wandelt den Int in einen Float um (mit oben genannter Methode).

Vorteil: Man muss aus einer Datei nur Bytes lesen können, und kann trotzdem 0.123f speichern.

Ich empfehle dazu ein paar Codeausschnitte aus DataInput/OuputStream:
Code:
public final float readFloat() throws IOException {
	return Float.intBitsToFloat(readInt());
}

Code:
public final void writeFloat(float v) throws IOException {
	writeInt(Float.floatToIntBits(v));
}

Nicht sehr viel Programmieraufwand, hm? Und dabei wird doch eine total sinnlose Methode verwendet...

[Edit: Ich hab mal zählen lassen: floatToIntBits wird 25, intToFloatBits 17 mal in den Standartklassen verwendet 8) ]
 

kopfsalat

Bekanntes Mitglied
@Beni
Danke! (Hätte ich auch mal bei Float, und nicht nur bei Integer nachgucken sollen :) )

Weitere Verwendungszwecke:
- Bitoperationen auf Floats, oder
- manuelles Auslesen des Floats, z.B. sowas in der Art (btw: gibt es eigentlich kein RSet/LSet in Java?) :
Code:
// needs StringEx for correct formatted output

class Floatbits
{
	public static void main (String [] args)
	{
		float f  = 0.5f;
		
		int sign     = ((Float.floatToIntBits(f) & 0x80000000) >> 31) & 1;
		int exp      = ((Float.floatToIntBits(f) & 0x7F800000) >> 23) - 127;
		int mantisse = (Float.floatToIntBits(f)  & 0x7FFFFF);
		
		System.out.println("32-Bit-Float-Value                :     "    + f);
		System.out.println("32-Bit-Float-Bits                 :     "    + StringEx.RSet(Integer.toBinaryString(Float.floatToIntBits(f)), 32, "0"));
		System.out.println("sign, [0='+' | 1='-']             :     "    + sign);
		System.out.println("exponent to base 2                :     "    + exp);
		System.out.println("(hidden bit) + mantisse to base 2 :     (1)" + StringEx.RSet(Integer.toBinaryString(mantisse), 23, "0"));
	}	
}
- Ähnlich für das manuelle Erstellen von Floats.

- Oder für Verschlüsselungen (...nur als Idee):
irgendwo darin einen int-Wert als float interpretieren, um dann damit fortzufahren. Sollte wohl unmöglich sein, dafür einen 'abkürzenden' Algorithmus zu entwickeln.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Arraylist in andere Klasse leiten und bearbeiten Allgemeine Java-Themen 10
E Swing andere schreibart für jButtoni (i = Zahl des Buttons) Allgemeine Java-Themen 6
perlenfischer1984 Lombok Builder soll andere Klasse bauen Allgemeine Java-Themen 4
R bei eclipse von java in eine andere programmiersprache wechseln? Allgemeine Java-Themen 2
B Chat auf andere Datentypen aufteilen Allgemeine Java-Themen 2
A Datum und Uhrzeit in andere Zeitzone umrechnen Allgemeine Java-Themen 7
X NetBeans Bilder und andere Dateien ins .jar schreiben und wieder aus .jar lesen Allgemeine Java-Themen 6
DanielsLPecke Java Arrays an andere Java Programme schicken und zurück Allgemeine Java-Themen 5
T Während des Programmlaufs andere Programme ausführen Allgemeine Java-Themen 1
F JTable mit Zellen die sich durch andere Eingaben füllen Allgemeine Java-Themen 1
M ZipOutputStream gleiche Datei andere Größe? Allgemeine Java-Themen 0
Todesbote Zeilen aus Excel in andere Excel Tabelle kopieren Allgemeine Java-Themen 0
N Objekte an eine andere Applikation übergeben Allgemeine Java-Themen 3
K LED-Matrix oder andere "Hardware" für JavaProgrammierung Allgemeine Java-Themen 9
F Array viel zu groß...andere Lösungen? Allgemeine Java-Themen 12
M Arraynamen an andere Klasse übergeben für allg. Rechnung Allgemeine Java-Themen 7
N Static oder andere Lösung Allgemeine Java-Themen 5
L Eine jar verwenden, die intern auf eine andere jar zugreift Allgemeine Java-Themen 7
B JAR Datei führt eine andere JAR Datei aus Allgemeine Java-Themen 2
M Methoden/Klassen für andere Projekte Allgemeine Java-Themen 4
S Von einer ArrayList in die andere schreiben? Allgemeine Java-Themen 6
Z Daten von einer Klasse in eine andere übertragen Allgemeine Java-Themen 8
E Wert in andere Klasse übernehmen Allgemeine Java-Themen 4
E Werte in andere Klasse übernehmen Allgemeine Java-Themen 8
S String in eine andere Klasse übergeben Allgemeine Java-Themen 25
S Mit einem jButton eine andere Klasse öffnen Allgemeine Java-Themen 2
J Array Sortierung auf andere Arrays anwenden Allgemeine Java-Themen 6
T Webservice definieren und andere Webservice aufrufen Allgemeine Java-Themen 8
W xml File einlesen und in eine andere xml File einfügen.. Allgemeine Java-Themen 2
M Javamail -> andere Möglichkeit für Attachment Allgemeine Java-Themen 5
S Passt eine Flaeche in eine andere? Allgemeine Java-Themen 2
K import- Anweisung fehlerhaft und andere Fehler (eclipse) Allgemeine Java-Themen 2
M Map umformen und in andere Map schreiben Allgemeine Java-Themen 2
R if-Anweisung wird angemeckert, andere identische nicht Allgemeine Java-Themen 9
M Andere Möglichkeit zu casten Allgemeine Java-Themen 8
R Wert von einer Klasse in eine andere bekommen Allgemeine Java-Themen 6
A andere Methode "abschiessen" Allgemeine Java-Themen 6
I Teile von ArrayList in eine andere kopieren? Allgemeine Java-Themen 2
C Prüfen, ob eine Methode eine andere überschreibt! WIE? Allgemeine Java-Themen 8
A Java oder andere Sprache? Was ist geeigneter? Allgemeine Java-Themen 55
J Netbeans: wie auf grafische elemente zugreifen, andere Datei Allgemeine Java-Themen 2
G Da Jikes nicht mit java 5 geht, gibt es eine andere. Allgemeine Java-Themen 4
P Mehrzeiligen Text aus JTA lesen und in andere JTA kopieren Allgemeine Java-Themen 7
M Funktion als Parameter oder andere Möglichkeit Allgemeine Java-Themen 3
Y Aus einem Java Programm andere (Exe-)Programme starten Allgemeine Java-Themen 3
S Daten in andere Klasse übergeben Allgemeine Java-Themen 5
S Wie ICQ, AIM und andere IM mit Java steuern? Allgemeine Java-Themen 2
G JCreator, andere Editoren ? Allgemeine Java-Themen 4
G Connection conn in andere Klasse / Objekt weitergeben? Allgemeine Java-Themen 17
H Methoden in andere Files auslagern Allgemeine Java-Themen 6
H Andere Software fernsteuern Allgemeine Java-Themen 7
M Zugriff auf andere Prozesse Allgemeine Java-Themen 3
S Erste Schritte Fehlender Gedanken-Ansatz bei Interpretation von Daten Allgemeine Java-Themen 1
M vorzeichenbehaftete Interpretation Allgemeine Java-Themen 3
U Eigene "Dining Philosopher" Interpretation weckt Philos nie auf Allgemeine Java-Themen 2
K Interpretation von Assemblerbefehlen Allgemeine Java-Themen 2
G Interpretation eines CallTrees Allgemeine Java-Themen 4
O regulärer Ausdruck zum durchsuchen eines Strings verwenden Allgemeine Java-Themen 2
T Rotationswinkel eines Bildes bestimmen Allgemeine Java-Themen 4
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Encera Größe eines Objektes in Byte berechnen Allgemeine Java-Themen 2
8u3631984 Prüfen ob min. ein Element eines Sets in einem anderen Set enh Allgemeine Java-Themen 4
M Array Rang eines Elements Allgemeine Java-Themen 4
OnDemand Teile eines Links entfernen Allgemeine Java-Themen 6
H Auslesen eines (LDAP-)Attributs in Active Directory Allgemeine Java-Themen 2
W JSON parsen eines ,mit JS.stringify erstellten Strings Allgemeine Java-Themen 27
H Textposition eines gedrehten Textes verschieben Allgemeine Java-Themen 8
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
E Ersetzen eines Bildes in der Kopfzeile eines Word-Docx-Dokuments mit Apache POI XWPF Allgemeine Java-Themen 0
N Fahrtrichtung eines selbstfahrenden Auto ändern Allgemeine Java-Themen 3
T Letztes Zeichen eines Strings enfernen Allgemeine Java-Themen 14
S Übergabe eines Sortierkriteriums für ein Artikel Array mittels BiPredicate<Artikel, Artikel> Allgemeine Java-Themen 13
gotzi242 Schatzsuche mithilfe eines O(log n) Algorithmus Allgemeine Java-Themen 2
C Koordinaten LONG/LAT eines neuen Punktes in bestimmter Entfernen und Winkel berechnen Allgemeine Java-Themen 3
Tobero Meine Funktion für das beinhalten eines Punktes in einem Kreis funktioniert nicht Allgemeine Java-Themen 5
LimDul Direktes return eines Array geht nicht Allgemeine Java-Themen 20
S Mittelwert anhand eines Stream berechnen Allgemeine Java-Themen 5
kodela Breite eines erweiterten Monitors feststellen Allgemeine Java-Themen 5
R Zeilen eines 2d Arrays abwechselnd links und rechts mit Nullen auffüllen Allgemeine Java-Themen 14
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
kodela Inhalt eines Arrays ändert sich mysteriös Allgemeine Java-Themen 2
bueseb84 Wget mit Wildcards - oder wie lädt man bei JFrog die letzte Version eines Artifacts herunter Allgemeine Java-Themen 3
N Erkennen eines Programs Allgemeine Java-Themen 2
N Pausieren eines Programmes Allgemeine Java-Themen 4
D Input/Output Implementierung eines CommandHandlers/Parsers für viele Eingaben Allgemeine Java-Themen 26
M Gibt es eine API die den aktuellen Wert eines Indikators beim Trading zurückgibt? Allgemeine Java-Themen 7
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
A Fehler beim Öffnen eines Projekts Allgemeine Java-Themen 6
N Eigenschaften eines Buttons per Setter verändern Allgemeine Java-Themen 5
S Ausfuehrung eines Programms aufzeichnen..? Allgemeine Java-Themen 4
X Ermittlung eines doppelte Paars mit Streams Allgemeine Java-Themen 50
Stonie Prüfen von direkter Implementierung eines Interfaces Allgemeine Java-Themen 7
S Vorbereitung eines Praktikums Allgemeine Java-Themen 4
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
M Weiterleiten von empfangenen Nachrichten eines StompSessionHandlers Allgemeine Java-Themen 1
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
H Rename eines Projekts Allgemeine Java-Themen 1
J Fenstergröße eines anderen Programmes auslesen Allgemeine Java-Themen 9
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22

Ähnliche Java Themen


Oben