Ga naar inhoud

Integer vs. Long


anoniem

Aanbevolen berichten

Oke... Moet de programmeur in het huidige tijdperk nog een Integer gebruiken?? Processorkracht genoeg toch? En een Integer loopt maar van -32000 t/m 32000... wat als ik een For i = 1 to n doe, en n > 32000 ?? Dus... waar 't op neer komt... Heeft 't nog nut om een variabele als Integer te declaren, of kan men gewoon meteen voor de Long gaan? :) Grtz
Link naar reactie
Kort samengevat: Ja. Het heeft zeker nut om iets als int te declareren. Sterker nog, zelfs short kan heel goed zijn. Als je van te voren weet dat een variable nooit een grotere waarde krijgt dan iets moet je altijd het kleinst mogelijk type kiezen. Als je met grotere projecten aan de slag gaat, dan scheelt dat grote hoeveelheden RAM.
Link naar reactie
Dat is een longint idd een gewonde integer (signed dus) is 16bits, dus van -32768 tot 32768 (lijkt me, iets minder waarschijnlijk, moet ook nog een 0 bij) een unsigned integer is 15bits, van 0 tot 32768 een longint is 32bits, dus van -2147483648 tot 2147483648 een unsigned longint is 31bits, dus van 0 tot 2147483648. de '-' neemt nl ook één bit in beslag... mogelijk is mijn verhaal van de unsigned niet helemaal correct, het kan ook zijn dat deze 2x zo groot mag zijn...
Link naar reactie
  • 2 weken later...
het is zoizo een goede programmeerstijl om het kleinst mogelijke variablegrootte te gebruiken. Ik ken iemand en hij heeft een programma gemaakt voor het onthouden van verjaardagen. Hij had 10 invoervelden gemaakt voor verjaardagen (dus je weet... er kunnen niet meer dan 10 personen komen). Maar hij heeft voor de index toch int64 gebruikt. Dat kan toch gewoon geen efficiente manier van programmeren zijn? Nu heeft hij versie 2.0 uitgebracht, en daar kan je een paar duizend miljoen verjaardagen toevoegen. Niemand heeft zoveel/vrienden contacten. Dan zou hij net zo goed byte (0 tot 255) of zelfs word kunnen gebruiken (0 tot 65535).
Link naar reactie
[quote:8323ad930e="microchip"]het is zoizo een goede programmeerstijl om het kleinst mogelijke variablegrootte te gebruiken. Ik ken iemand en hij heeft een programma gemaakt voor het onthouden van verjaardagen. Hij had 10 invoervelden gemaakt voor verjaardagen (dus je weet... er kunnen niet meer dan 10 personen komen). Maar hij heeft voor de index toch int64 gebruikt. Dat kan toch gewoon geen efficiente manier van programmeren zijn? [/quote:8323ad930e] Om efficientie redenen kan het soms beter zijn om een andere variabelegrootte te gebruiken. Meestal lost de compiler dit soort problemen op. [quote:8323ad930e="microchip"] Nu heeft hij versie 2.0 uitgebracht, en daar kan je een paar duizend miljoen verjaardagen toevoegen. Niemand heeft zoveel/vrienden contacten. Dan zou hij net zo goed byte (0 tot 255) of zelfs word kunnen gebruiken (0 tot 65535).[/quote:8323ad930e] Daar ben ik het niet mee eens. Denk aan het [i:8323ad930e]"Year-2000"[/i:8323ad930e] probleem... Bill Gates: 640 kB ... We hebben genoeg IP adressen... etc. Of het moet op commercieel gebied gaan om een [url=http://www.google.nl/search?q=salami+tactiek]salami tactiek[/url]
Link naar reactie
Aansluitend bij wat h4xX0r impliciet al noemde: afhankelijk van het systeem dat je gebruikt, kan het juist heel goed zijn om altijd 32-bit vars te gebruiken en geen 8- of 16-bit, ook al lijkt dat logischer gezien de maximale waarde die je erin stop. De hedendaagse Pentium, bijvoorbeeld, is geoptimaliseerd voor 32 bit (dus: gebruik een int), en een short vertraagd het programma dan ook.
Link naar reactie
Ja en nee. Zie bijvoorbeeld de Coding Techniques van Intel: http://x86.ddj.com/ftp/manuals/686/iatips.pdf (maar er bestaan meerdere referenties). Quote: "In a 32-bit applications, using a short as a part of a loop will cause size override prefixes to be incorporated. These overrides take longer to fetch, decode and execute. ALWAYS use 32 bit integers as loop variables -- your software will run faster."
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...