anoniem Geplaatst: 28 juli 2004 Delen Geplaatst: 28 juli 2004 Is was wel benieuwd wat ver verschil nu is tussen de operator % en / De % is iets met module ofzo? Maar begrijpen doe ik het niet. Wie wel? Alvast dank, Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 Als je alleen integere (gehele) getallen gebruikt dan is bijvoorbeeld 17/4=4 maar dan mis je de 1 die dus niet deelbaar is door 4 omdat de uitkomst kleiner is dan het kleinste gehele getal. Met 17%4=1 krijg je dus dit restgetal. Bijvoorbeeld makkelijk als je minuten in uren om wil zetten, 3500 minuten wordt dan 3500/60=58 en 3500%60=20. De uitkomst is dus 58 uur en 20 minuten. Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 Oftewel % is modulo / is delen Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [quote:803539f755="DarkScribe"]17/4=4[/quote:803539f755]17/4 = 4.25 :wink: Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [quote:f4fd404372="BelgiumBoy_007"]4.25[/quote:f4fd404372] Zijn dat Belgische [b:f4fd404372]gehele[/b:f4fd404372] getallen? Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 Hij geeft toch altijd een komma getal als uitkomst, ook al gebruik je gehele getallen ... Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [code:1:6f78acbde9] int a; a = 17/4; echo a; [/code:1:6f78acbde9] uitkomst 4 Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [code:1:822ef063bd]<?php print (17/4); ?>[/code:1:822ef063bd]Geeft 4.25 met Apache op Windows :-? Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 Maar dat bereken je dan ook anders dan hoe Ruudfeen het doet... Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [quote:1bec295463="BelgiumBoy_007"][code:1:1bec295463]<?php print (17/4); ?>[/code:1:1bec295463]Geeft 4.25 met Apache op Windows :-?[/quote:1bec295463] Op jouw manier verzint PHP zelf een type om de uitkomst in op te slaan. Dat type zal decimale getallen ondersteunen aangezien je een uitkomst krijgt met decimalen. Ik forceer PHP in mijn voorbeeld om de uitkomst als een integer op te slaan. Een integer ondersteunt geen decimale getallen, dus kan ie onmogelijk die laatst 0,25 opslaan. Die knipt ie er dus vanaf. Quote Link naar reactie
anoniem Geplaatst: 28 juli 2004 Auteur Delen Geplaatst: 28 juli 2004 [quote:03ca911e93="Ruudfeen"]Op jouw manier verzint PHP zelf een type om de uitkomst in op te slaan. Dat type zal decimale getallen ondersteunen aangezien je een uitkomst krijgt met decimalen.[/quote:03ca911e93]Dat wist ik niet, weer iets bijgeleerd :wink: Quote Link naar reactie
anoniem Geplaatst: 30 juli 2004 Auteur Delen Geplaatst: 30 juli 2004 ik vraag me af of de TS antwoord heeft op zn vraag :) zo niet, lees dan door :p module geeft in feite de rest van een staartdeling. Om maar verder te gaan met het voorbeeld van 17/4 [code:1:a60dd334df] 4 / 17 \ 4 16 - ---------- 1 [/code:1:a60dd334df] dus als je 17 % 4 uitvoert krijg je 1. Als je nog maar net bent begonnen met programmeren zal het vooral handig zijn om te kijken of getallen even of oneven zijn(bedenk zelf eens hoe ;)) en om te kijken of getallen deelbaar zijn door andere getallen :). Wat de discussie van 17/4 betreft, natuurlijk is 17/4 = 4,25 maar ruudfeen heeft in dit geval wel gelijk. In c++(wat ruudfeen gebruikt zo te zien) moet je variable van tevoren een type geven. Dus eerst declareren, en dan pas gebruiken. [code] int a; double b; a = 17/4; b= 17/4; [code] hierin zal a gelijk zijn aan 4 en b aan 4.25, terwijl je bij beide hetzelfde doet. Dat komt omdat a een interger is en b een double. In php worden variable on-the-fly gemaakt, zoals dat heet. Dat wil zeggen dat ze worden gemaakt wanneer er een waarde aan wordt toegekend. En kan er dus ook meteen het type bepaald worden. Daarom lever in php 17/4 in de gewone geval 4.25 op :) Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 [quote:50a0f6ad65="Dr HenDre"] vooral handig zijn om te kijken of getallen even of oneven zijn [/quote:50a0f6ad65] veel gebruikt om tabelrijen op deze manier afwisselende kleuren te geven: [code:1:50a0f6ad65]if ($id % 2 == 0) { //kleur 1 } else { //kleur 2 }[/code:1:50a0f6ad65] Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 ja, maar je controleert in feite of een tabelrij even of oneven is en daarvan uitgaande geef je het een kleur :) en om de code korter en netter te maken:) [code:1:480a41caeb] if(!($id % 2)) { //kleur1 } else { //kleur2 } [/code:1:480a41caeb] Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 [quote:9e5dd3bc75="Dr HenDre"]ja, maar je controleert in feite of een tabelrij even of oneven is en daarvan uitgaande geef je het een kleur :) [/quote:9e5dd3bc75] Er is toch ook niemand die anders beweerd? Ik begrijp je reactie niet. [quote:9e5dd3bc75="Dr HenDre"]en om de code korter en netter te maken:) [/quote:9e5dd3bc75] Persoonlijk zie ik overigens ook niet waarom jouw manier netter zou zijn (korter wel, maar dat verschil is te verwaarlozen). Eigenlijk vind ik 'm alleen maar onduidelijker. Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 == 0 word in de prog wereld(iig bij c++ en php) als niet-nette code beschouwd. Want == 0 staat gelijk met de boolean false. En de int word tijdens het compilen gecast naar een bool. Netzoals dat er wordt gezegd dat het gebruiken van label's en goto's niet-nette code oplevert. Als je dit allemaal voor de lol doet maakt het natuurlijk geen kut uit, maar zodra je het "voor andere" gaat doen, gaat de waarde van je werk omlaag door het gebruik van bv goto's. Men prefereert loops boven goto's :) kan er ook niets aan doen :) Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 [quote:2add37eb44="Dr HenDre"]== 0 word in de prog wereld(iig bij c++ en php) als niet-nette code beschouwd. Want == 0 staat gelijk met de boolean false. En de int word tijdens het compilen gecast naar een bool. Netzoals dat er wordt gezegd dat het gebruiken van label's en goto's niet-nette code oplevert. Als je dit allemaal voor de lol doet maakt het natuurlijk geen kut uit, maar zodra je het "voor andere" gaat doen, gaat de waarde van je werk omlaag door het gebruik van bv goto's. Men prefereert loops boven goto's :) kan er ook niets aan doen :)[/quote:2add37eb44]Wat zijn goto's ? :-? Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 k had het eigenlijk over goto's in c++, in php bestaat dat niet. maar hier een voorbeel in c++ [code:1:e9822c2341] #include <iostream> using namespace std; int main() { int i=0; start: cout<<"Dit stuk begint bij start\n"; deel_twee: cout<<"Dit is het tweede deel\n"; einde: cout<<"Dit is het einde\n"; if(!i) { i++; goto deel_twee; } return 0; } [/code:1:e9822c2341] dit zal als uitvoer het volgende geven: Dit stuk begint bij start Dit is het tweede deel Dit is het einde Dit is het tweede deel Dit is het einde Quote Link naar reactie
anoniem Geplaatst: 31 juli 2004 Auteur Delen Geplaatst: 31 juli 2004 Ik wilde nog zeggen dat het maar goed is dat je dat niet weet ;) Het gebruik van goto's is ernstig af te raden Quote Link naar reactie
anoniem Geplaatst: 1 augustus 2004 Auteur Delen Geplaatst: 1 augustus 2004 Ik ben ff op vakantie geweest, maar ik snap het nu wel :) Bedankt! Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen