WinFuture-Forum.de: Java: Datentyp Byte... - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Java: Datentyp Byte... ...und wieso beginnt er mit -128


#1 _rjchio_

  • Gruppe: Gäste

  geschrieben 28. Januar 2007 - 09:28

Hallo

Ich habe das Problem, dass ich einen Datentyp brauche, der Werte von 0 bis 255 zulässt.
Leider gibt es in Java keinen dafür und ich wollte nun fragen, ob man das nicht irgendwie richten könnte. In C++ kann man ja mit unsigned einem Datentyp sagen, ob er ein Vorzeichen hat oder nicht. Gibt so was auch in Java?
Oder kennt jemand einen anderen Trick dafür?

MfG rjchio
0

Anzeige



#2 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 28. Januar 2007 - 13:22

Der Datentyp "int" lässt sogar Werte von -2^31 bis 2^31-1 zu. Warum nimmst du nicht den?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#3 _rjchio_

  • Gruppe: Gäste

geschrieben 28. Januar 2007 - 13:32

Das ist mir schon bewusst, aber int ist in diesem Fall nicht geeignet, da ich danach die Werte als ASCII-Code in eine Datei schreiben will. Das heisst, wenn ein Wert über 255 gross ist, gehen Daten verloren.

MfG rjchio
0

#4 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 28. Januar 2007 - 13:34

Ergbit für mich nachwievor keinen Sinn. Wenn du Werte über 255 rausbekommst, dann sind ein Byte doch ohnehin zu klein. Was genau willst du machen?
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

#5 _rjchio_

  • Gruppe: Gäste

geschrieben 28. Januar 2007 - 19:02

Beitrag anzeigenZitat (Rika: 28.01.2007, 13:34)

Ergbit für mich nachwievor keinen Sinn. Wenn du Werte über 255 rausbekommst, dann sind ein Byte doch ohnehin zu klein. Was genau willst du machen?

Dann soll es wieder bei 0 beginnen. Ich weiss, klingt vielleicht nicht ganz nachvollziehbar, da ich oben geschrieben habe, dass ich keine Daten verlieren will, aber ich brauche es so. :)
Inzwischen habe ich eine Zwischenlösung mit char gefunden: Bevor ich den Char in eine Datei schreibe muss ich ihn mit '& 255' verrechnen. Das ist zwar keine optimale Lösung, funktioniert aber so wie ich es gerne hätte.

MfG rjchio
0

#6 Mitglied ist offline   Rika 

  • Gruppe: aktive Mitglieder
  • Beiträge: 11.533
  • Beigetreten: 11. Juni 03
  • Reputation: 2
  • Geschlecht:Männlich

geschrieben 28. Januar 2007 - 20:50

Äh... genau das gleiche kannst du doch auch mit einem 'int' machen. Nur daß man schneller mit 'int's als mit 'char's rechnet.

Und statt zu maskieren kannst du auch unsigniert shiften, das geht nochmal schneller: int auf_byte_gekuerzt = (eingabe<<<24)>>>24;


Ich frage trotzdem nochmal: Was zum Teufel möchtest du machen? Bytes sind Bytes sind Zahlenwerte, ASCII-Zeichen sind Zeichen und mit Zeichen rechnet man nicht.
Konnichiwa. Manga wo shitte masu ka? Iie? Gomenne, sonoyouna koto ga tabitabi arimasu. Mangaka ojousan nihongo doujinshi desu wa 'Clamp X', 'Ayashi no Ceres', 'Card Captor Sakura', 'Tsubasa', 'Chobits', 'Sakura Taisen', 'Inuyasha' wo 'Ah! Megamisama'. Hai, mangaka gozaimashita desu ni yuujin yori.
Eingefügtes Bild
Ja, mata ne!

(For sending email please use OpenPGP encryption and signing. KeyID: 0xA0E28D18)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0