Huis Persoonlijke financiën Binaire getallen uitdrukken in C ++ - dummies

Binaire getallen uitdrukken in C ++ - dummies

Inhoudsopgave:

Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024

Video: Linux Tutorial for Beginners: Introduction to Linux Operating System 2024
Anonim

C ++ -variabelen worden intern opgeslagen als zogenaamde binaire getallen. Binaire getallen worden opgeslagen als een reeks van 1 en 0 waarden die bekend staan ​​als bits. Meestal hoeft u zich niet bezig te houden met getallen op bitniveau; er zijn echter gelegenheden waarbij dit handig is. C ++ biedt een aantal operators voor dit doel.

De zogenaamde bitsgewijze logische operatoren werken op hun argumenten op bitniveau. Om te begrijpen hoe ze werken, onderzoekt u hoe computers variabelen opslaan.

Het decimale nummer systeem

De nummers die u kent zijn bekend als decimale getallen omdat ze gebaseerd zijn op het getal 10. Over het algemeen geeft de programmeur C ++ weer variabelen als decimale getallen. Je zou dus zeggen dat de waarde van var bijvoorbeeld 123 is.

Een getal zoals 123 verwijst naar 1 * 100 + 2 * 10 + 3 * 1 . Elk van deze basisnummers - 100, 10 en 1 - is een macht van 10.

123 = 1 * 100 + 2 * 10 + 3 * 1

Op een enigszins andere maar equivalente manier uitgedrukt:

123 = 1 * 10 2 + 2 * 10 1 + 3 * 10 0

Houd er rekening mee dat elk getal tot nul nul is 1.

Ander nummerensysteem

Het gebruik van een basisnummer van 10 voor het telsysteem komt naar alle waarschijnlijkheid voort uit het feit dat mensen 10 vingers hebben, de originele telgereedschappen. Het alternatief zou basis 20 geweest zijn.

Als honden ons nummeringsschema hadden uitgevonden, was het misschien gebaseerd op het cijfer 8 (één cijfer van elke poot is uit het zicht verwijderd op het achterste deel van het been). Zo'n octaal systeem zou net zo goed hebben gewerkt:

123 10 = 1 * 8 2 + 7 * 8 1 + 3 * 8 0 = 173 8

De kleine 10 en 8 verwijzen hier naar het nummeringssysteem, 10 voor decimaal (basis 10) en 8 voor octaal (basis 8). Een telsysteem kan elke positieve basis gebruiken.

Het binaire getalsysteem

Computers hebben in wezen twee vingers. (Misschien is dat de reden waarom computers zo stom zijn: zonder een duimbreed, kunnen ze niets bevatten. En dan nog, misschien ook niet.) Computers geven de voorkeur aan tellen met behulp van basis 2. Het getal 123 10 wordt uitgedrukt als:

123 10 = 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1

= 01111011 < 2 Het is altijd gebruikelijk om binaire getallen uit te drukken door 4, 8, 32 of 64 binaire cijfers te gebruiken, zelfs als de eerste cijfers nul zijn. Dit komt ook door de manier waarop computers intern worden gebouwd.

Omdat de term

cijfer verwijst naar een veelvoud van tien, wordt een binair cijfer een bit genoemd. De term komt voort uit binair (b-) cijfer (-it).Acht bits vormen een byte. Een woord is meestal twee of vier bytes. Met zo'n kleine basis is het nodig om een ​​groot aantal bits te gebruiken om getallen uit te drukken. Het is onhandig om een ​​uitdrukking zoals 01111011

2 te gebruiken om een ​​dergelijke alledaagse waarde uit te drukken als 123 10 . Programmeurs geven de voorkeur om nummers uit te drukken in eenheden van bytes of acht bits. Een enkelvoudig vier-bitscijfer is in feite basis 16, omdat vier bits tot elke waarde van 0 tot 15 kunnen uitdrukken. Basis 16 staat bekend als het

hexadecimale tellende systeem. Hexadecimaal wordt vaak gecontracteerd tot gewoon hex. Hexadecimaal gebruikt dezelfde cijfers voor de getallen 0 tot en met 9. Voor de cijfers tussen 9 en 16 gebruikt hexadecimaal de eerste zes letters van het alfabet: A voor 10, B voor 11, enzovoort. Dus, 123

10 wordt 7B 16 . 123 = 7 * 16

1 + B (ie, 11) * 16 0 = 7B 16 Omdat programmeurs de voorkeur geven aan getallen in 4, 8, 32 of 64 bits, geven ze ook de voorkeur aan hexadecimale getallen in 1, 2, 4 of 8 hexadecimale cijfers, zelfs als de eerste cijfers 0 zijn.

Tenslotte is het onhandig om een ​​hexadecimaal getal zoals 7B uit te drukken < 16

met behulp van een subscript, omdat terminals geen subscripts ondersteunen. Zelfs in een tekstverwerker is het onhandig om lettertypen van en naar de subscriptmodus te wijzigen, alleen om twee cijfers in te voeren. Daarom gebruiken programmeurs de conventie om een ​​hexadecimaal getal te beginnen met een 0x (de reden voor zo'n vreemde overtuiging gaat terug tot de vroege dagen van C). Dus wordt 7B 0x7B. Met behulp van deze conventie is 0x7B gelijk aan 123 (terwijl 0x123 gelijk is aan 291.) Alle wiskundige operators kunnen op hexadecimale getallen worden uitgevoerd op dezelfde manier als ze op decimale getallen worden toegepast. De reden dat we geen vermenigvuldiging zoals 0xC * 0xE in onze hoofden kunnen uitvoeren, heeft meer te maken met de vermenigvuldigingstabellen die we op school hebben geleerd dan met enige beperking in het getalsysteem.

Binaire getallen uitdrukken in C ++ - dummies

Bewerkers keuze

Een Oracle-omgeving instellen - dummies

Een Oracle-omgeving instellen - dummies

Als u een typische PL / SQL-omgeving wilt instellen, hebt u de volgende componenten: Databaseserver: dit is een computer (of een reeks computers) die de Oracle-database uitvoert. Oracle werkt in veel populaire computeromgevingen. De meest gebruikte met Oracle zijn UNIX, Linux of een versie van Microsoft Windows. PL / SQL wordt meestal uitgevoerd ...

SQL-rijwaarden en -waarden - dummies

SQL-rijwaarden en -waarden - dummies

De waarden die worden bewaard in de cellen die de snijpunten van de SQL-database vormen De rijen en kolommen van de tabel zijn de grondstoffen waaruit u zinvolle relaties en trends kunt afleiden. Rijwaarden De meest zichtbare waarden in een database zijn tabelrijwaarden. Dit zijn de waarden die elke rij van een databasetabel ...

SQL eerste, tweede en derde normale vormen - dummies

SQL eerste, tweede en derde normale vormen - dummies

Er zijn drie bronnen van wijzigingsanomalieën in SQL Deze worden gedefinieerd als eerste, tweede en derde normale vormen (1NF, 2NF, 3NF). Deze normale vormen fungeren als remedies voor het wijzigen van anomalieën. Eerste normale vorm Om in de eerste normale vorm (1NF) te zijn, moet een tabel de volgende eigenschappen hebben: De tabel is tweedimensionaal met rijen en ...

Bewerkers keuze

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een veel voorkomende misvatting is dat wanneer de kinderen van een stel vertrekken thuis, zullen pappa en mama het syndroom van empty-nest ontwikkelen. Ja, ze hebben misschien een leeg nest, maar voor sommige paren bloeit hun liefdesleven in deze periode van hun leven. De slachtoffers van het syndroom zijn de paren waarvan de relatie uit elkaar valt als zij de enige ...

STD's: wat u moet weten over herpes - dummies

STD's: wat u moet weten over herpes - dummies

Herpes, veroorzaakt door het herpes simplex-virus (HSV) ), is een ongeneeslijke SOA. Herpes heeft eigenlijk twee vormen: herpes simplex-type 1 (HSV-1) en herpes simplex-type 2 (HSV-2). HSV-1 wordt meestal geassocieerd met koortsblaasjes en koortsblaren boven de taille. "Ongeveer 80 procent van de Amerikaanse volwassenen heeft orale herpes. Ongeveer 25 procent van ...

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Een van de grootste vragen voor tieners is niet "Zou ik seks moeten hebben? "Maar" Hoe ver moet ik gaan? "Terwijl het eigen comfortniveau en dat van de partner de topprioriteit zou moeten zijn in deze beslissing, spelen andere factoren een rol, vooral als tieners dat amorfe concept van" het derde honk overwegen. "" Derde basis "...

Bewerkers keuze

Tien voorwaarden American Football Announcers Gebruik - dummies

Tien voorwaarden American Football Announcers Gebruik - dummies

Een van de moeilijkste en meest intimiderende onderdelen over het volgen van een Amerikaans voetbalwedstrijd is dat de presentatoren soms een vreemde taal lijken te spreken die alleen bekend is bij echte voetballiefhebbers. Maar als je een aantal belangrijke termen onthoudt, ben je ver voor op het spel. Hier zijn enkele voetbaltermen die je misschien hoort, ...

Het begin van een voetbalspel: The Kickoff - dummies

Het begin van een voetbalspel: The Kickoff - dummies

Voor Amerikaanse voetbalfans, de openingsaftrap is een opwindende start voor elke game. Ze zien de tweezijdige sensatie van het ene team dat probeert het andere te blokkeren en helpt de herhaler om door en voorbij 11 snelladers van het trapende team te rennen. (Wel, maak die tien spelers.De kicker staat meestal rond de 50-yard-lijn, ...

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Elk kind in uw team is anders zoveel manieren. Sommigen zijn begaafde hardlopers, anderen kunnen duizelingwekkende vangsten maken en wat moeite om simpelweg de basistechnieken van het spel te vatten. Ongeacht de sterke en zwakke punten van de kinderen, die overal op de kaart staan, hebben jongeren algemene kenmerken die worden beïnvloed ...