Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Sonstige Fragen » binärezahlen addieren » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 6 Beiträge
eulerscheZahl

Weil du eine UND Verknüpfung der beiden Zahlen gebaut hast. Damit c[i] = 1; ausgeführt wird, muss a[i] == 1 && b[i] == 1 gelten.
Abed ich hab was enders gemacht und hat nicht geklappt

int[] c = new int[a.length];
int ue = 0; // uebertrag
for (int i = a.length - 1; i >= 0; i--) {

if (a[i] + b[i] + ue == 0) {
c[i] = 0;
} else if (a[i] + b[i] == 1) {
c[i] = 0;
if (ue == 1) {

c[i] = 0;
}
} else if (a[i] == 1 && b[i] == 1) {
c[i] = 0;
ue = 1;
if (ue == 1) {
c[i] = 1;
}
vielen vielen Dank
eulerscheZahl

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
public static void main(String[] args) {
	int[] a = { 0, 1, 0, 0, 0, 0, 1 };
	int[] b = { 0, 1, 1, 1, 0, 1, 1 };
	int[] c = new int[a.length];
	int carry_in = 0;
	for (int i = a.length - 1; i >= 0; i--) {
		int carry_out = 0;
		if (a[i] == 0 && b[i] == 0 && carry_in == 0) { c[i] = 0; carry_out = 0; }
		if (a[i] == 0 && b[i] == 0 && carry_in == 1) { c[i] = 1; carry_out = 0; }
		if (a[i] == 0 && b[i] == 1 && carry_in == 0) { c[i] = 1; carry_out = 0; }
		if (a[i] == 0 && b[i] == 1 && carry_in == 1) { c[i] = 0; carry_out = 1; }
		if (a[i] == 1 && b[i] == 0 && carry_in == 0) { c[i] = 1; carry_out = 0; }
		if (a[i] == 1 && b[i] == 0 && carry_in == 1) { c[i] = 0; carry_out = 1; }
		if (a[i] == 1 && b[i] == 1 && carry_in == 0) { c[i] = 0; carry_out = 1; }
		if (a[i] == 1 && b[i] == 1 && carry_in == 1) { c[i] = 1; carry_out = 1; }
		carry_in = carry_out;
	}
	System.out.println(Arrays.toString(c));
}
Abed

ich habe nicht so gut verstanden ,
können Sie noch mehr erklären

Grüße
Abed
eulerscheZahl

Starte beim niederwertigsten Bit und arbeite dich nach vorn. Den Übertrag musst du auch behandeln, also hast du 3 Eingangsvariablen (a, b, carry_in - also der alte Übertrag) und 2 Ausgangsvariablen (a+b, carry_out - Ausgangsübertrag).
Eine Tabelle, wie du Ausgänge gebildet werden, kannst du dir entweder selbst überlegen oder vom Volladdierer übernehmen.
Abed binärezahlen addieren

Meine Frage:
ich nehme mal an, dass ich a und b 2 binärzahlen sind,
int [] a = {0,1,0,0,0,0,1};
int[] b = {0,1,1,1,0,1,1};
ich kann sie theoritsche rechnen.
jz meine Frage ist, wie ich die Operation der Addition in eclips (java) einsetzen kann?

Meine Ideen:
mit for und if schleife
Aber wie? ka