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

Informatiker Board » Themengebiete » Sonstige Fragen » binärezahlen addieren » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen binärezahlen addieren
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Abed
Mitglied


Dabei seit: 31.10.2015
Beiträge: 27

binärezahlen addieren Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
16.11.2015 14:58 Abed ist offline E-Mail an Abed senden Beiträge von Abed suchen Nehmen Sie Abed in Ihre Freundesliste auf AIM-Name von Abed: primt YIM-Name von Abed: primt
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
16.11.2015 15:17 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Abed
Mitglied


Dabei seit: 31.10.2015
Beiträge: 27

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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

Grüße
Abed
16.11.2015 15:50 Abed ist offline E-Mail an Abed senden Beiträge von Abed suchen Nehmen Sie Abed in Ihre Freundesliste auf AIM-Name von Abed: primt YIM-Name von Abed: primt
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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));
}


__________________
Syntax Highlighting fürs Board (Link)
16.11.2015 15:56 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Abed
Mitglied


Dabei seit: 31.10.2015
Beiträge: 27

ich hab was enders gemacht und hat nicht geklappt Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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
23.11.2015 08:44 Abed ist offline E-Mail an Abed senden Beiträge von Abed suchen Nehmen Sie Abed in Ihre Freundesliste auf AIM-Name von Abed: primt YIM-Name von Abed: primt
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
23.11.2015 13:34 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Sonstige Fragen » binärezahlen addieren