Video: Zeitgeist Addendum 2024
Hvis en flytende punktverdi også kan være et helt tall, hvorfor plage å bruke heltall i programmene dine i det hele tatt? Årsaken er at flytende punktverdier og heltall behandles forskjellig inne i datamaskinen.
Et heltall finnes i datamaskinen som en ekte binær verdi. For eksempel lagres verdien 123 i moderne datamaskiner som en 32-biters verdi:
Tegnebiten avgjør om verdien er positiv eller negativ (0 er positiv og 1 er negativ). Resten av de 31 bitene brukes til å representere verdien.
Et flytende punktnummer kan imidlertid ikke eksistere i en datamaskin som bruker binær (1s og 0s). Ikke vær dum! Så er det flytende punktnummeret smart forfalsket. Ved å bruke de samme 32 bitene, kan en flytende punkt på 13. 5 se slik ut:
Først kommer tegnbiten: 1 for negativ eller 0 for positiv. Eksponenten brukes med mantissen på en kompleks og mystisk måte til falske flytpunktverdier i binær. (Hvis du er nysgjerrig, kan du søke etter flytende punkt binær på Internett og finne noen gode opplæringsprogrammer som kanskje ikke klarer det.)
Bunnlinjen er at det tar mer arbeid for datamaskinen å finne ut binære problemer, som flytende punktverdier, enn det gjør for at datamaskinen skal fungere i heltall. Så, når det er mulig, bruk heltallverdier; Bruk bare flytpunktene når det er nødvendig.
I de tidlige dager i C-programmeringen måtte du ofte koble i et spesielt flytende punktbibliotek dersom programmet brukte flytende punktverdier. De fleste kompilatorer kan nå håndtere flytende punktnumre uten dette ekstra trinnet.