binaire code vergelijken

Status
Niet open voor verdere reacties.

jortijn

Nieuwe gebruiker
Lid geworden
13 nov 2004
Berichten
3
heey allemaal.

ik wil graag 2 binaire codes vergelijken. en dan een specifiek getal B.V het 3e uit de reeks en dan te beginnen met tellen bij het lsb.

7654321

1001101 en
1101011



heeft iemand hier een idee over het is wel in c en niet cpp.

bedankt en groeten:thumb:
 
Ja sorry, het is geen direct antwoord op jouw vraag, maar wel een hint. Zelf programmeer ik al lang niet meer in C.

Hiervoor kun je de logische And operator(Volgens de leer van de Booleaanse algebra) gebruiken.

Wanneer je 1 en 1 met elkaar gaat vergelijken met de And opeartor dan levert dit weer een 1(True zegmaar) op en dat betekent dan dat de binaire cijfers met elkaar overeenkomen. Is de uitkomst geen 1, maar nul(False) dan komen de cijfers met elkaar niet overeen.

Toch begrijp ik jou vraag eigenlijk niet zo goed. Je gaf een deccimaal getal en 2 binaire getallen. Vervolgens stel je als voorbeeld de vraag:
en dan een specifiek getal B.V het 3e uit de reeks en dan te beginnen met tellen bij het lsb

Welke 3e uit de reeks? Die van de binaire of v.d. decimale?

Dennis.

PS. Ik weet natuurlijk wel wat je met lsb bedoelt. Zo ook dat er een msb bestaat.
 
Laatst bewerkt:
dennis ik bedoel hierme decimaal. binear zo het de 3e van rechts zijn het was maar een voor beeld. bedankt hopelijk heb je een oplossing.
 
wat ik dus precies bedoelde is dat in bijde rijen het 3e getal wil vergelijken.

groeten jortijn:o
 
dennis ik bedoel hierme decimaal. binear zo het de 3e van rechts zijn het was maar een voor beeld.
Sorry, ik begrijp het nog steeds niet.

Ik denk dat je met het getal 7654321 de posities v.d. binaire cijfers probeert aan te geven. Als dat zo is dan had je eigenlijk veel beter 6543210 moeten gebruiken. Het is in de computerwereld heel gebruikelijk om steeds met het getal 0 te beginnen bij het tellen.

Als je het 3e binaire cijfer van beide binaire cijfers 1001101 en 1101011 naar de gelijkheid ervan, vanuit de lsb kant gezien, wilt gaan onderzoeken, dan moet je hiervoor de And functie gebruiken.

Toch weet ik nog steeds niet of je het ook zo bedoeld hebt. Is dit wel het geval, dan moet ik mijn kennis in C nog eerst gaan opfrissen. Ik ben je dan nog steeds een antwoord schuldig. Tenzij een andere Helpmijer je te hulp schiet.

Dennis.
 
Geplaatst door jortijn
wat ik dus precies bedoelde is dat in bijde rijen het 3e getal wil vergelijken.

groeten jortijn:o
Ja, ik was net even te laat met mijn bericht. Ik had het toch goed. Ik heb jouw laatste bericht net maar gelezen.

Dennis.
 
Ik moet mijn C boeken even in mijn box gaan opzoeken, maar heb daarvoor nu even de tijd niet . Ik moet die binaire vergelijking nog steeds denken aan een opdracht die ik voor iemand geschreven heb, maar in Pascal. En dat ging met de Shift(left en right)-statement. Misschien is het in C ook wel zo.

Dennis.

PS. Opmerking: Shift is voor een hogereprogrammeertaal bedoeld, maar doet in feite een rotate-functie in de Assembly taal.
 
OK, je wilt dus 1 specifiek bit testen....

Dan gebruik je eerst de bitwise AND (&&) om het betreffende bit op te pikken en dan kijk je of ze van beide gelijk zijn.

a = 0xFF80
b = 0xFF81

Stel dat je de laatste positie wilt vergelijken...
if ((a && 0x0001) == (b && 0x0001))

zo ongeveer uit het hoofd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan