Byte 0 und 1 einzelnd zuweisen?

Status
Nicht offen für weitere Antworten.
F

Fred7878

Gast
Hi,

wie kann ich einem byte jede 1 und 0 einzellnd zuweisen und so auch wieder auuslesen?
Also möchte z.B.
Code:
byte1 = 00100011
zuweisen!

DANKE
 
F

Fred7575

Gast
Hey danke, dass klappt schon mal.

Nur muss ich auch "11111111" zuweisen können, wie kann ich das anstellen? Daas wäre dann ja die 255 und "byte" geht ja nur von -127 bis 128... Gibt es da eine Lösung?

Ich muss ein Byte mit "11111111" über einen Stream schicken...

Danke
 
S

SlaterB

Gast
die Java-bytes sind ja nur eine Interpretation von Bits,

wenn du 1111111 schicken willst, dann ist das einer von 255 möglichen Byte-Werten,
da auch Java-byte 255 unterschiedliche Zustände kennt, kannst du dir ja ausmalen, das einer davon 11111111 sein muss,

nun noch bisschen nachlesen oder ausprobieren, welcher das wohl ist
 

Der Müde Joe

Top Contributor
Code:
	public static void main(String[] args) {
		byte b= Byte.MIN_VALUE;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b= -1;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b=0;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b= 1;
		System.out.println(Integer.toBinaryString(b & 0xFF));
		b= Byte.MAX_VALUE;
		System.out.println(Integer.toBinaryString(b & 0xFF));
	}
 

Ark

Top Contributor
Fred7575 hat gesagt.:
Ich muss ein Byte mit "11111111" über einen Stream schicken...
Jaja, das haben wir gerne: Gleich von Streams reden, aber von Bits und Bytes keine Ahnung.

Was haben FF und 11111111 gemeinsam? Warum kann ein Computer nur mit vorzeichenlosen Ganzzahlen arbeiten? Und wie werden dann Zahlen mit Vorzeichen abgebildet? Einerkomplement? Zweierkomplement? Was ist überhaupt der Einer? Was ist der Zweier?

Was der Einer ist, solltest du bereits aus der Grundschule kennen. Den Zweier müsstest du eigentlich auch schon kennen - oder du weißt selbst nicht, was dieses 11111111 bedeutet.

Ark
 
G

Guest

Gast
Der Müde Joe hat gesagt.:
Code:
	public static void main(String[] args) {
		byte b= Byte.MIN_VALUE;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b= -1;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b=0;
		System.out.println(Integer.toBinaryString((b & 0xFF)));
		b= 1;
		System.out.println(Integer.toBinaryString(b & 0xFF));
		b= Byte.MAX_VALUE;
		System.out.println(Integer.toBinaryString(b & 0xFF));
	}

Das ist gut, zumindest in der Ausgabe, aber ich habe damit immer noch kein byte mit 255 bzw. nur 1...

:-(
 
G

Gast

Gast
Ein *einzelndes* (SCNR) Byte kann auch nur die Werte zwischen -127 und 128 annehmen, da Bytes in Java vorzeichenbehaftet sind, wie bereits erklärt.

11111111 sind mit Paritätsbit eben -127, ohne 255.
Ist eine Frage der Interpretation, wie Java es interpretiert sollte ja jetzt klar sein, oder?
 
F

Fred7575

Gast
Vertanden.

Nur wenn "Byte.parseByte("11111111", 2)" mache, sagt er mir NumberFormatException und gibt mir keine -127 aus!
 
F

Fred7575

Gast
Geht auch nicht.
Fange die Exception nun einfach ab. Doch steht das dann auch so in der Variable drinne?
 

Der Müde Joe

Top Contributor
>Geht auch nicht.

Code:
byte b = Byte.parseByte("-1111111", 2); // - 127
b = Byte.parseByte("-10000000", 2); // - 128

b = Byte.parseByte("1111111", 2); // + 127
b = Byte.parseByte("10000000", 2); // peng....der byte ist zu klein
 
S

SlaterB

Gast
dass Java das minus-Bit nicht parsen kann, sehe ich auch schon lange als Bug an,
es bleibt einem doch nur, das erste Byte selber zu prüfen und in ein Minuszeichen umzuwandeln oder das geparste Byte dann zu negieren, oder?

bevor jemand auf höheren Dagtentyp verweist, das Extremum ist

Code:
public class Test {

	public static void main(String[] args) throws Exception {

		System.out.println(Long.toBinaryString(-3));
		Long.parseLong(Long.toBinaryString(-3),2);
	}
}

-> Exception

die Antworten von gast und Der Müde Joe klingen so 'klar geht das, nämlich so',
aber das kann doch niemand eine sinnvolle Alternative nennen, oder?
 

Der Müde Joe

Top Contributor
Fred7575 hat gesagt.:
Also kann ich es vergessen ein vollgepacktes Byte (255) über einen Stream zu senden?!

ein Byte hat 8 bit..oder 256 Zustände.....

Java stellt mit denen Zuständen die Zahlen von -128 - +127 dar....
wenn du 0 - 255 möchtest musst du einen anderen Datentypen wählen zB int
Den kannst du dann ja in einen byte wandeln (welcher die Zahlen grösser als 127
als negative Zahlen darstellt...ist so..fertig... zB

Code:
public class Test {

	public static void main(String[] args) {
		for(int i = 0; i < 256; i++) {
			if(i == 128) {
				System.out.println("--------------signed skip: 128 begins----------------");
			}
			System.out.println("Binary: " +Integer.toBinaryString(toByte(i) & 0xFF) + " Number: " +i); 
		}
	}
	
	public static byte toByte(int i) {
		if(i < 0 || i > 255) {
			throw new IllegalArgumentException("Out of value: " + i);
		}
		byte signedByte;
		
		if(i > 127) {
			signedByte = (byte)(i - 256);
		} else {
			signedByte = (byte)i;
		}
		return signedByte;
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
S byte to float Java Basics - Anfänger-Themen 4
J Byte Folge erkennen Java Basics - Anfänger-Themen 5
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
M Byte Array und Co. Java Basics - Anfänger-Themen 12
T Operatoren Float in byte umwandeln Java Basics - Anfänger-Themen 3
Y File to byte[] and byte[] to sysout Java Basics - Anfänger-Themen 3
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
F Hexfolge in Byte Array ersetzen Java Basics - Anfänger-Themen 8
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
T Erste Schritte Byte Java Basics - Anfänger-Themen 3
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
H Variablen short <-> byte[] Java Basics - Anfänger-Themen 15
X Datentypen String in byte[] Java Basics - Anfänger-Themen 29
H Variablen 32bit Zählwert als Byte-Array Java Basics - Anfänger-Themen 9
H Variablen string nach byte Java Basics - Anfänger-Themen 12
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
L Byte[] to String, doch bits sind gespiegelt (MSB/LSB) Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
V unsigned byte? Java Basics - Anfänger-Themen 27
M byte Array Mindestlänge Java Basics - Anfänger-Themen 19
U short[] nach byte[] Java Basics - Anfänger-Themen 11
D [jni] jbytearray <-> byte array Java Basics - Anfänger-Themen 8
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
P byte Array aus ImageIcon Java Basics - Anfänger-Themen 10
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3
G byte[] (Base64) korrekt übergeben Java Basics - Anfänger-Themen 4
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
F Byte nach Zahl umwandeln Java Basics - Anfänger-Themen 11
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
T Datentypen unsigned byte? Java Basics - Anfänger-Themen 9
G Integar zu Byte Java Basics - Anfänger-Themen 4
P Byte mit 0...255? Java Basics - Anfänger-Themen 5
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
L Datentypen 250 und byte? Java Basics - Anfänger-Themen 4
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
H Datentypen Byte-Array RSA Java Basics - Anfänger-Themen 9
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
V Byte -> String -> Byte verlustfrei Java Basics - Anfänger-Themen 12
Hindi93 Byte to Int Java Basics - Anfänger-Themen 4
H Datentypen byte[] to int Java Basics - Anfänger-Themen 9
S hex zu byte Java Basics - Anfänger-Themen 4
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
P Datentypen Byte und char Typecast Java Basics - Anfänger-Themen 2
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
W Datentypen int -> byte Java Basics - Anfänger-Themen 2
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
F Typenumwandlung byte <=> int verstehen Java Basics - Anfänger-Themen 3
S Byte eines arrays Java Basics - Anfänger-Themen 17
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
B unsigned byte Problem Java Basics - Anfänger-Themen 9
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
S Unbekannte Daten einlesen, speichern und in einem byte Array speichern Java Basics - Anfänger-Themen 3
S Alle Datentypen in byte Array und zurückwandeln Java Basics - Anfänger-Themen 2
H Frage zu Byte-Streams Java Basics - Anfänger-Themen 2
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2
0 byte[] -> hex Java Basics - Anfänger-Themen 2
G char[] in byte[] konvertieren? Java Basics - Anfänger-Themen 2
V Byte Arrays in Strings umwandeln und splitten Java Basics - Anfänger-Themen 2
M unsigned byte Java Basics - Anfänger-Themen 4
G byte [] aus uRL erhalten Java Basics - Anfänger-Themen 11
J Byte-Array als Hex-Datei speichern? Java Basics - Anfänger-Themen 9
G Hex to Byte Java Basics - Anfänger-Themen 13
S Byte in Zahl umwandeln Java Basics - Anfänger-Themen 3
M Double-Wert in Byte[] umwandeln Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben