Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 16-04-2002, 19:03
^AmArU^
^AmArU^ is offline
Ik wil graag wat meer info over MOD.
Ik vind het zo'n a-wiskundige functie,
kan iemand mij uitleggen hoe dat gedaan wordt?
Ik kan me voorstellen dat x mod y = z
zou opleveren
y*frac(x/y) = z

maar
hoe gebeurt dit op de computer?
ik merkte dat voor getallen als
x = 10^7
y = 10^7
en z is bijvoorbeeld 2 * 10^5
de z in 3 tiende van een seconde of sneller berekend werd
ik zag nauwelijks verschil met een eenvoudige 4 mod 2
hoe is dit mogelijk?
Met citaat reageren
Advertentie
Oud 16-04-2002, 19:21
Tampert
Avatar van Tampert
Tampert is offline
huh? Wat bedoel je met frac?

x mod = wordt toch berekend door

x-Int[x/y]*y?

Waarbij int dus staat voor het gehele getal voor de komma ...
__________________
NIZ| tegenpartij|Kriminalpolizei!!|De hele mikmak| Dank voor die bloemen
Met citaat reageren
Oud 16-04-2002, 19:40
^AmArU^
^AmArU^ is offline
Citaat:
Tampert schreef:
huh? Wat bedoel je met frac?

x mod = wordt toch berekend door

x-Int[x/y]*y?

Waarbij int dus staat voor het gehele getal voor de komma ...
kan ook

ik bedoelde fpart
fpart=het deel ahcter de komma
bijvoorbeeld

23 mod 6=
23/6 = 3.833333
dan fpart() = 0.8333
* 6 = 5

Met citaat reageren
Oud 16-04-2002, 19:45
mathfreak
Avatar van mathfreak
mathfreak is offline
De functie MOD wordt gebruikt om bij 2 gehele getallen (integers in de Pascal-terminologie) de rest bij een deling te bepalen. Laat x en y 2 integers zijn, dan is x MOD y voor y kleiner dan of gelijk aan nul niet uitvoerbaar. Voor y>0 is er een integer k zodat geldt: x MOD y=x-k*y<y.
De functie MOD hangt samen met de wiskundige definitie van rekenen modulo m. We noemen een geheel a congruent met een geheel getal b modulo een geheel getal m (notatie: a=b mod m) als a-b een deler van m is. a=b mod m betekent dat deling van a door m de rest b geeft. Zie voor een toepassing hiervan tevens de topic over deelbaarheidsregels van getallen.
__________________
"Mathematics is a gigantic intellectual construction, very difficult, if not impossible, to view in its entirety." Armand Borel
Met citaat reageren
Oud 16-04-2002, 19:45
Tampert
Avatar van Tampert
Tampert is offline
Citaat:
^AmArU^ schreef:


kan ook

ik bedoelde fpart
fpart=het deel ahcter de komma
bijvoorbeeld

23 mod 6=
23/6 = 3.833333
dan fpart() = 0.8333
* 6 = 5


jaah pcies...

maar dan is het toch logisch dat het voor grote getallen niet zoveel uitmaakt qua snelheid?

Al zal daarbij de snelheid vooral liggen in de deling...
__________________
NIZ| tegenpartij|Kriminalpolizei!!|De hele mikmak| Dank voor die bloemen
Met citaat reageren
Oud 16-04-2002, 19:52
^AmArU^
^AmArU^ is offline
Citaat:
Tampert schreef:



jaah pcies...

maar dan is het toch logisch dat het voor grote getallen niet zoveel uitmaakt qua snelheid?

Al zal daarbij de snelheid vooral liggen in de deling...
delen kan toch wel lang duren?
3294234324 / 3248723 is niet echt makkleijk denk ik
Met citaat reageren
Oud 16-04-2002, 19:59
Tampert
Avatar van Tampert
Tampert is offline
Citaat:
^AmArU^ schreef:


delen kan toch wel lang duren?
3294234324 / 3248723 is niet echt makkleijk denk ik
je hebt het toch over de computer?

Nah als ik jouw deling time, tot op de 20e decimaal nauwkeurig kom ik op een zeer geringe CPU-tijd... en dat is met mathematica... dus het kan sneller...
__________________
NIZ| tegenpartij|Kriminalpolizei!!|De hele mikmak| Dank voor die bloemen
Met citaat reageren
Oud 16-04-2002, 20:10
^AmArU^
^AmArU^ is offline
Citaat:
Tampert schreef:


je hebt het toch over de computer?

Nah als ik jouw deling time, tot op de 20e decimaal nauwkeurig kom ik op een zeer geringe CPU-tijd... en dat is met mathematica... dus het kan sneller...
Ja maar bijvoorbeeld iets als 1/500000 duurt best lang
iig
je merkt het verschil
maja goed
het duurt te lang
hoe test ik de deelbaarheid van 329743 en het getal 451 bijvoorbeeld?
Met citaat reageren
Oud 16-04-2002, 20:13
Verwijderd
Citaat:
^AmArU^ schreef:


Ja maar bijvoorbeeld iets als 1/500000 duurt best lang
iig
je merkt het verschil
maja goed
het duurt te lang
hoe test ik de deelbaarheid van 329743 en het getal 451 bijvoorbeeld?
1/500000 duurt lang ja, maar
1 % 500000 niet. '%' staat voor mod, in de meeste programmeertalen.

Mod kan zowiezo snel, want de CPU hoeft geen FP berekeningen uit te voeren...
Met citaat reageren
Oud 16-04-2002, 20:15
Verwijderd
Citaat:
^AmArU^ schreef:


kan ook

ik bedoelde fpart
fpart=het deel ahcter de komma
bijvoorbeeld

23 mod 6=
23/6 = 3.833333
dan fpart() = 0.8333
* 6 = 5

Ik zou het anders doen...
int(23/6) = 3
rest = 23 - 3 * 6 = 5
Is sneller; minder tot geen FP berekeningen.
Met citaat reageren
Oud 16-04-2002, 21:57
^AmArU^
^AmArU^ is offline
FP berekeningen?
Met citaat reageren
Oud 17-04-2002, 07:29
Verwijderd
Floating Point berekeningen, getallen met een komma erin.

Bijvoorbeeld
8.3065 * 2.445
3/4 (=0.75)

Dat soort getallen...

Dit is processor intensief, omdat het moeilijk is uit te rekenen.
Met citaat reageren
Oud 17-04-2002, 21:40
Tampert
Avatar van Tampert
Tampert is offline
hmmnzz.. ik dacht dat een computer altijd rekende met floating point getallen. 2 wordt namelijk in binair weergegeven als:

.100 * 10^2

o.i.d.
__________________
NIZ| tegenpartij|Kriminalpolizei!!|De hele mikmak| Dank voor die bloemen
Met citaat reageren
Oud 18-04-2002, 09:22
Verwijderd
Citaat:
Tampert schreef:
hmmnzz.. ik dacht dat een computer altijd rekende met floating point getallen. 2 wordt namelijk in binair weergegeven als:

.100 * 10^2

o.i.d.
euh... hoe wou jij 2.25 binair gaan weergeven?

Het binaire stelsel kent, net zoals het hexadecimale, geen reële getallen.

2d = 0000 0010b
2.25d = ???? ????b

Tja... kan niet echt...
Met citaat reageren
Oud 18-04-2002, 12:30
GinnyPig
GinnyPig is offline
een decimaal getal kan je schrijven als:

23,23

Wat ook geschreven kan worden als:
2 * 10^1 + 3 * 10^0 + 2 * 10^-1 + 3* 10^-2

Voor een hexadecimaal getal geldt dat het grondtal niet 10 maar 16 is. Het principe blijft echter hetzelfde, en dus kan je komma getallen ook in het hexadecimale getallenstelsel schrijven.

2,5A is dus eigenlijk:

2 * 16^0 + 5 * 16^-1 + 10*16^-2 = 2 + 5/16 + 10/256 = 2,3515625 (in decimale vorm)

Voor binair gaat dit uiteraard ook op maar dan met een grondtal 2. Dus:

101,101 = 2^2 + 2^0 + 2^-1 + 2^-3 = 4 + 1 + 1/2 +1/8 = 5,625
__________________
O_o
Met citaat reageren
Oud 18-04-2002, 12:33
Verwijderd
En hoe wou je dat binair gaan uitrekenen?

Zoals een computer doet dus?

[fluister mode]
Pssst... gaan we nu stiekum de processor ontleden en kijken hoe deze het oplost?
[/fluister mode]
Met citaat reageren
Oud 18-04-2002, 12:56
GinnyPig
GinnyPig is offline
Citaat:
eddie schreef:
En hoe wou je dat binair gaan uitrekenen?

Zoals een computer doet dus?

[fluister mode]
Pssst... gaan we nu stiekum de processor ontleden en kijken hoe deze het oplost?
[/fluister mode]
Ik zeg niet dat het sneller of handiger is... Ik zeg alleen dat een komma in het binaire stelsel wel degelijk voorkomt
__________________
O_o
Met citaat reageren
Oud 18-04-2002, 13:01
Verwijderd
Citaat:
GinnyPig schreef:


Ik zeg niet dat het sneller of handiger is... Ik zeg alleen dat een komma in het binaire stelsel wel degelijk voorkomt
Je bedoelt voor kan komen

En waarom dan de rekenmachine van Windows 98 het niet dan?

Maar je kunt geen voorstelling geven van een binair getal waar een komma inzit.

00110101.1001 _kan_ gewoon niet...
Met citaat reageren
Oud 18-04-2002, 13:15
pol
pol is offline
Hier is een mogelijke mannier om een decimaal getal binair te schrijven :

Je kunt elk getal x schrijven als :

x= +of- q * 2^m

waarbij 1/2 =<q<1, en meen geheel getal.
Het getal q is dan de mantisse en m de exponent.
Als we beide binair voorstellen, hebben we een vlottende komma getal geconstrueerd.

Als we nu een woordlengte van 32 bits ter beschikking hebben, kunnen we ze (meestal) zo verdelen :

1bit voor het teken van x.
1bit voor het teken van de exponent m.
7 bits voor de exponent abs(m).
23 bits voor voor de mantisse abs(q).

Er moet wel bijgezegd worden dat men in de praktijk meer gebruik maakt van complement notaties, dan gebruik te maken van tekenbits.
Met citaat reageren
Oud 18-04-2002, 13:31
Verwijderd
Ja, dan worden truukjes toegepast om het weer te geven...
Met citaat reageren
Oud 18-04-2002, 18:34
GinnyPig
GinnyPig is offline
Citaat:
eddie schreef:

00110101.1001 _kan_ gewoon niet...
Hoezo kan niet? :/

Wat ik heb geleerd, geldt dat:
00110101.1001 = 110101.1001 = binaire vorm.

Decimale vorm:
1*2^5+ 1*2^4 + 1*2^2 + 1*2^0 + 1*2^-1 + 1*2^-4 =
32 + 16 + 4 + 1 + 1/2 + 1/16 = 53 9/16 = 53,5625

Dus jouw getal in binaire vorm (met komma) is wel degelijk een getal in decimale vorm (met komma). Of bedoelde je dat niet?
__________________
O_o
Met citaat reageren
Oud 18-04-2002, 18:40
^AmArU^
^AmArU^ is offline
dus dan moet men voor alle getallen na de komma ook bits reserveren? dan wordt alles dus enkele malen zo groot
Met citaat reageren
Oud 18-04-2002, 18:43
Verwijderd
Citaat:
GinnyPig schreef:


Hoezo kan niet? :/

Wat ik heb geleerd, geldt dat:
00110101.1001 = 110101.1001 = binaire vorm.

Decimale vorm:
1*2^5+ 1*2^4 + 1*2^2 + 1*2^0 + 1*2^-1 + 1*2^-4 =
32 + 16 + 4 + 1 + 1/2 + 1/16 = 53 9/16 = 53,5625

Dus jouw getal in binaire vorm (met komma) is wel degelijk een getal in decimale vorm (met komma). Of bedoelde je dat niet?
Het zou misschien wel kunnen op schrift, maar het kan niet in de computer!

Zo duidelijk genoeg?
Met citaat reageren
Oud 18-04-2002, 18:49
Tampert
Avatar van Tampert
Tampert is offline
Citaat:
eddie schreef:

euh... hoe wou jij 2.25 binair gaan weergeven?

Het binaire stelsel kent, net zoals het hexadecimale, geen reële getallen.

2d = 0000 0010b
2.25d = ???? ????b

Tja... kan niet echt...
da zeg ik toch ook nie?

Ik zeg alleen dat een computer ook gehele (of natuurlijke, zo je terminologisch wil ) getallen weergeeft als een float0ing-point getal vermenigvuldigd met een macht van 2.
__________________
NIZ| tegenpartij|Kriminalpolizei!!|De hele mikmak| Dank voor die bloemen
Met citaat reageren
Oud 18-04-2002, 18:56
Verwijderd
Citaat:
Tampert schreef:


da zeg ik toch ook nie?

Ik zeg alleen dat een computer ook gehele (of natuurlijke, zo je terminologisch wil ) getallen weergeeft als een float0ing-point getal vermenigvuldigd met een macht van 2.
Nogmaals:

WIJ kunnen wel met machten enzo werken en zodoende een binair reeël getal weergeven, maar voor de CPU is dat onmogelijk.

In de computer zijn alleen maar natuurlijke getallen. En aangezien natuurlijke getallen geen reeële zijn, kan het dus niet zonder truukjes.

Hetzelfde geldt voor negative getallen. Deze worden 'gevormd' een complement berekeningen...
Met citaat reageren
Advertentie
Oud 19-04-2002, 09:06
GinnyPig
GinnyPig is offline
Citaat:
eddie schreef:

Het zou misschien wel kunnen op schrift, maar het kan niet in de computer!

Zo duidelijk genoeg?
Oooohhhhhh, bedoel je het zooooooo
__________________
O_o
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Beleidszaken Aantal mods
NaamInGebruik
10 15-03-2013 19:05
Games tiberian sun mod vraagje
-SoloWolf-
3 29-03-2007 23:36
Muziek mod? iemand?
Gary X
63 24-07-2004 18:11
Games Battlefield1942 MODS
DaDude
3 14-12-2002 21:43
Software & Hardware [CM]Ben weer eens aan het modden geweest
The twe@ker
7 17-07-2002 21:30
Software & Hardware ChronoM's case mod ....
ChronoM
7 10-04-2001 21:23


Alle tijden zijn GMT +1. Het is nu 15:17.