Hallo
Jaja, die Klausurzeit rückt näher und mir fallen tagtäglich neue Sachen ein, die ich nicht wirklich gecheckt habe.
Ich habe mir jetzt schon des öfteren aus verschiedenen Quellen das Shiften durchgelesen, bin aber immer noch nicht so ganz klar damit.
Meine grundsätzliche Frage ist:
Warum überhaupt shiften?
Man kann das ganze doch auch einfach mit einer Maske (z.b. durch eine UND-Verknüpfung) lösen, oder?
Gibt es in Java keine einfachere Möglichkeit, Farbwerte zu ändern?
Ich habe hier als Beispiel ein Bild in ein Array (x) geladen und shifte nun halt wild hin und her....
Bin mir aber nicht sicher, ob ich das überhaupt richtig verstanden habe.
Dann noch eine Frage:
Was genau ist der Unterschied zwischen >>> und >>?
Der >>> ist Rechtsschieben mit Nullexpansion, der ander ohne.
Aber was steht dann in den Bits, wenn keine Nullen eingefügt werden? Einfach der alte Bitwert?
Danke schonmal für eure Hilfe!
Jaja, die Klausurzeit rückt näher und mir fallen tagtäglich neue Sachen ein, die ich nicht wirklich gecheckt habe.
Ich habe mir jetzt schon des öfteren aus verschiedenen Quellen das Shiften durchgelesen, bin aber immer noch nicht so ganz klar damit.
Meine grundsätzliche Frage ist:
Warum überhaupt shiften?
Man kann das ganze doch auch einfach mit einer Maske (z.b. durch eine UND-Verknüpfung) lösen, oder?
Gibt es in Java keine einfachere Möglichkeit, Farbwerte zu ändern?
Ich habe hier als Beispiel ein Bild in ein Array (x) geladen und shifte nun halt wild hin und her....
Code:
static int[][] aenderFarbwert (int[][] x) {
/* farbe=gibt an, welche Farbe verstärkt werden soll *
* Blau = 0; Grün = 8, Rot = 16 */
int farbe = 8;
for (int i=0; i<x.length; i++) {
for (int j=0; j<x[0].length; j++) {
int farbaenderung = 0xFF;
x[i][j] = x[i][j] & (farbaenderung << farbe);
} //end for
} //end for
return x;
} //end Methode aenderFarbwert
Bin mir aber nicht sicher, ob ich das überhaupt richtig verstanden habe.
Dann noch eine Frage:
Was genau ist der Unterschied zwischen >>> und >>?
Der >>> ist Rechtsschieben mit Nullexpansion, der ander ohne.
Aber was steht dann in den Bits, wenn keine Nullen eingefügt werden? Einfach der alte Bitwert?
Danke schonmal für eure Hilfe!