Portal > Foren > Java > Allgemeine Java-Programmierung > gibt es "unsigned" Bytes ?
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 03.09.2004, 02:17 Nach oben    #1
terabaud
Gast
 
Beiträge: n/a
Standard gibt es "unsigned" Bytes ?

Hallo zusammen

ich hab mal eine Frage : ich suche nach einem vorzeichenlosen 8-Bit-Datentyp - gibt es sowas in Java ?

Soweit ich weiß (bzw. glaub), ist "char" der einzige vorzeichenlose Datentyp in Java, aber "char" ist 16 Bit groß. Ein 8-Bit-unsigned Datentyp würde mir massenweise typecasts wie diese ersparen gibt es vielleicht sowas ? Das würde Codeschnipsel wie diese überflüssig machen

Code:
byte b=-1; // ein Byte, beispielsweise aus einer Datei eingelesen... Java interpretiert 255 allerdings immer als -1, wenn der Datentyp "byte" ist.

// wenn man das Byte als unsigned behandeln will, hat man keine andere Wahl, als auf einen 16-Bit-Datentyp wie z.B. "char" zu typecasten :

char c=(char)((b<0) ? (256+b) : b);

// - oder gibt es eine andere Möglichkeit ?
Ich könnte natürtlich auch 16-Bit-Datentypen in meinen Dateien verwenden, aber das kommt mir irgendwie verschwenderisch vor, wenn ich eigentlich nur Werte von 0-255 brauche. Und irgendwie habe ich Skrupel, verschwenderisch in einer Sprache zu programmieren, die eh schon von sich aus verschwenderisch mit Resourcen umgeht
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2004, 07:58 Nach oben    #2
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Hi

Nein, es gibt keine unsigned Datentypen in Java (ausser char, 16 Bit). Wenn du einen unsigned byte simulieren willst, dann nimm doch short (16 Bit) und benutze nur die 2 letzten hex-stellen.

Ich hoffe, das hilft dir weiter.

Greets
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2004, 17:29 Nach oben    #3
terabaud
Gast
 
Beiträge: n/a
Standard

Mach ich schon, ich typecaste immer nach "char" so wie oben mit "?:"-Operator - ich finds nur ein wenig unhandlich, wenn man Bytes von einem InputStream einliest und die dann erst nach char typecasten muss. Aber scheinbar gibt es wohl keine andere Möglichkeit *snief*

Das ist für mich alles noch eine Umgewöhnungssache mit den primitiven Datentypen, da ich vorher nur in C/C++ programmiert habe.
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2004, 18:11 Nach oben    #4
LordOfCodes
Gast
 
Beiträge: n/a
Standard

Hab ein wenig voreilig geschrieben und erst nachher deinen code angeschaut

Ich hatte auch schon Mühe mit diesem Konzept, aber wenn man sich einmal daran gewohnt hat, geht ganz gut..

Falls dir das noch etwas bringt: Java liefert enorm umfangreiche Klassen zur Übertragung von primitiven Datentypen und Objekten. Schau dir mal die Klasse java.io.DataInputStream an, vielleicht kannst du damit mehr anfangen.

Greets
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 03.09.2004, 20:50 Nach oben    #5
terabaud
Gast
 
Beiträge: n/a
Standard

hm, muss ich mir mal anschauen danke
 
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Diverses aus meinem Apache Logs robo47 Tools, Server, Betriebssysteme 3 25.05.2007 22:52
Ladezeiten ? CIX88 Plauderecke 39 07.11.2006 23:02
vorzeichenlose Bytes pixel Allgemeine Java-Programmierung 2 02.07.2005 16:18
[PHP] Bytes in andere Einheiten umrechnen Ben Tutorials 0 18.03.2005 07:39


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:16 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

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 39 40 41 42 43 44