Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » hilfe bei modulo

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.10.2005, 13:45 Uhr
~junge
Gast


hallo

ich habe die bedingung

if (i % 4)

in einer for schleife geschrieben.

das ziel war es, immer wenn i/4 teilbar mit null rest ist soll es die funktion ausführen.

bei mir klappt das aber nicht immer so ganz

was könnte da der fehler sein

danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.10.2005, 14:02 Uhr
Oliver
S2-Pixelgeneral


Wie wärs mit if (!(i%4)) ?
--
Demokratie ist die Diktatur der Mehrheit.

www.siedler25.org/ ( Siedler2 - Remake )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.10.2005, 14:03 Uhr
Pablo
Supertux
(Operator)


und was soll denn nicht klappen? wieso denkst du, dass es nicht klappt?

edit: klar, i%4 liefert 0, wenn i durch 4 teilbar ist.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 04.10.2005 um 14:03 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.10.2005, 14:28 Uhr
~junge
Gast


hallo oliver

ja, so funktioniert es

mir ist aber unklar wieso es auf diese art funktioniert. kannst du vielleicht erklären was der unterschied zwischen (!(i % 4) und (!(i % 4) ist.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.10.2005, 14:31 Uhr
~junge
Gast


eine frage hätte ich dann auch noch und zwar

mit welcher funktion kann ich dieses bitmuster zustande bringen

0100
0000
0100
0000
0100
0000
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.10.2005, 14:39 Uhr
predator



Hi junge

zu deiner ersten Frage:

C++:
i % 4


gibt den Rest der Division i/4 zurück.

Wenn eine Zahl ohne Rest durch 4 teilbar ist, wird 0 zurück gegeben.


C++:
if(!(i % 4))


ist eine Vereinfachung für

C++:
if((i % 4) == 0)




Deine zweite Frage versteh ich irgendwie nicht
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
04.10.2005, 15:02 Uhr
~junge
Gast


jetzt weiß ich was mein fehler war

ich dachte wenn modulo 0 zurück gibt dass die funktion ausgeführt wird
aber die if funktion verlangt ja eine eins damit sie ausgeführt wird

die zweite frage hat mit hex oder binär zahlen zu tun.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
04.10.2005, 15:07 Uhr
Tommix



Hallo,
die Frage ist, was Du mit "zustande bringen" meinst.

C++:
printf("0100\n0000\n0100\n0000\n0100\n0000\n");


wirst Du ja wohl nicht suchen.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
04.10.2005, 15:18 Uhr
~jungo
Gast


ich will dass die bitfolge
0100
über eine schnittstelle übertragen wird und die jeweiligen leds zum leuchten bringt.

letztendlich würde die 2 led nur blinken

und somit brauch ich immer die bitfolge

variable1= 0000
0100
0000
0100

port1= variable1
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
04.10.2005, 15:22 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


naja kommt drauf an wie deine hardware reagiert, schliesslich hat ein byte 8 bits und nicht nur 4. Wenn die Relais der LED-Kette (schätze mal das läuft über relais, sonst würde mans ja nicht mal flackern sehen) auf die ersten 4 bits reagieren musste halt z.b den Windowstaschenrechner zur hand nehmen, auf Wissenschaftlich stellen und schaun welcher Dezimalwert zu einer Bitfolge gehört (oder du machst es selbst)

z.b

0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
usw

und dann sendeste eben das entsprechende byte mit dem wert den du willst.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: