sheel
I love Asm
Hi
1)Zuerst einmal: Du willst eine 4-Byte(32bit)-Variable umwandeln, behandelst sie aber wie 1Byte/8bit und gibst bei einem zu großen Wert (für die 1Byte-Variable) eine Fehlermeldung aus.
Willst du das so? Ich nehm mal an, das war so vorgegeben.
2) Was du ändern solltest, ist die "Nicht-definiert-Fehlermeldung" außerhalb/vor der Schleife zu machen.
Was bribt es, wenn du die Zahl gleich acht mal prüfst?
3) Include<cmath> brauchst du hier nicht, du verwendest ja keine einzige Funktion daraus.
Falls das im Grundgerüst so vorgegeben war, lass es halt stehen, sonst kannst du es entfernen
4) Die int a und int i, die du für die Schleifen verwendest, solltest du zuerst definieren
5) Wenn man sowas auf dem Papier umrechnet, würde man...
zuerst Zahl/2, der Rest davon ist die letzte Stelle der Binärzahl
wieder druch 2, Rest ist die vorletzte Stelle usw...
Es würde also helfen, wenn die Schleife von 7 bis 0 statt von 0 bis 7 geht.
6)...Du verwendest das Array in der Schleife ja gar nicht?
Ich schreibs einmal komplett um, mit den bisher genannten Punkten schon drin
Gruß
1)Zuerst einmal: Du willst eine 4-Byte(32bit)-Variable umwandeln, behandelst sie aber wie 1Byte/8bit und gibst bei einem zu großen Wert (für die 1Byte-Variable) eine Fehlermeldung aus.
Willst du das so? Ich nehm mal an, das war so vorgegeben.
2) Was du ändern solltest, ist die "Nicht-definiert-Fehlermeldung" außerhalb/vor der Schleife zu machen.
Was bribt es, wenn du die Zahl gleich acht mal prüfst?
3) Include<cmath> brauchst du hier nicht, du verwendest ja keine einzige Funktion daraus.
Falls das im Grundgerüst so vorgegeben war, lass es halt stehen, sonst kannst du es entfernen
4) Die int a und int i, die du für die Schleifen verwendest, solltest du zuerst definieren
5) Wenn man sowas auf dem Papier umrechnet, würde man...
zuerst Zahl/2, der Rest davon ist die letzte Stelle der Binärzahl
wieder druch 2, Rest ist die vorletzte Stelle usw...
Es würde also helfen, wenn die Schleife von 7 bis 0 statt von 0 bis 7 geht.
6)...Du verwendest das Array in der Schleife ja gar nicht?
Ich schreibs einmal komplett um, mit den bisher genannten Punkten schon drin
C++:
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int x=34; //34 Dezimalzahl die umgerechnet werden soll
//Das Array in das die einzelnen Bits geschrieben werden sollen.
//Hinweis: speichert das niederwertigste Bit in feld[0] und das höchstwertige in feld[7]!
int feld[8];
int a,i;
//Ihre Loesung
if (x<0||x>255)
cout << "nicht Definiert";
else
{
for (i=7; i>=0; i--)
{
feld[i]=x%2;
x/=2;
}
}
for(i=0;i<8;i++)
cout << feld[i];
return 0;
}
Gruß