Hjem Personlig finansiering Uttrykker binære tall i C ++-dummier

Uttrykker binære tall i C ++-dummier

Innholdsfortegnelse:

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024

Video: Technology Stacks - Computer Science for Business Leaders 2016 2024
Anonim

C + + -variabler lagres internt som såkalte binære tall. Binære tall lagres som en sekvens av 1 og 0 verdier kjent som bits. For det meste trenger du ikke å håndtere tall på bitnivået; Det er imidlertid anledninger når det gjøres praktisk. C ++ gir et sett med operatører til dette formålet.

De såkalte bitwise logiske operatørene opererer på sine argumenter på bitnivå. For å forstå hvordan de fungerer, undersøk hvordan datamaskiner lagrer variabler.

desimalnumre

fordi de er basert på nummer 10. Generelt uttrykker programmereren C ++ variabler som desimaltall. Dermed vil du si at verdien av var er 123, for eksempel. Et tall som 123 refererer til 1 * 100 + 2 * 10 + 3 * 1

. Hvert av disse basenumrene - 100, 10 og 1 - er en kraft på 10.

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

Uttrykt på en litt annen, men liknende måte:

123 = 1 * 10

2

+ 2 * 10 1 + 3 * 10 0 Husk at et hvilket som helst tall til nullstrømmen er 1. Andre tallsystemer

Bruken av et basenummer på 10 for telleverket stammer, med all sannsynlighet, fra det faktum at mennesker har 10 fingre, de opprinnelige telleverktøyene. Alternativet ville ha vært base 20.

Hvis hundene hadde oppfunnet vårt nummereringssystem, kan det godt ha vært basert på tallet 8 (ett siffer i hver pote er ute av syne på baksiden av benet). Et slikt

oktal

-system ville ha virket like bra: 123 10

= 1 * 8 2 + 7 * 8 1 + 3 * 8 0 = 173 8 De små 10 og 8 her refererer til nummereringssystemet, 10 for desimal (base 10) og 8 for oktal (base 8). Et tellingssystem kan bruke en hvilken som helst positiv base. Det binære talesystemet

Datamaskiner har i hovedsak to fingre. (Kanskje det er grunnen til at datamaskiner er så dumme: Uten en motstandsdyktig tommel kan de ikke forstå noe. Og igjen, kanskje ikke.) Datamaskiner foretrekker å telle med base 2. Tallet 123

10

vil bli uttrykt som: 123 10

= 0 * 128 + 1 * 64 + 1 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 1 * 1 = 01111011 < 2 Det er alltid konvensjon å uttrykke binære tall ved å bruke 4, 8, 32 eller 64 binære tall selv om de ledende tallene er null. Dette er også på grunn av måten datamaskiner bygges internt på.

Fordi uttrykket siffer

refererer til et tall på ti, kalles et binært tall en

bit . Begrepet stammer fra binær (b-) siffer (-it).Åtte biter utgjør en byte. Et ord er vanligvis enten to eller fire byte. Med en så liten base, er det nødvendig å bruke et stort antall biter til å uttrykke tall. Det er ubeleilig å bruke et uttrykk som 01111011 2 for å uttrykke en slik verdslig verdi som 123

10 . Programmører foretrekker å uttrykke tall ved enheter av byte, eller åtte biter. Et enkelt, firebitssiffer er i hovedsak base 16, fordi fire biter kan uttrykke seg til en verdi fra 0 til 15. Base 16 er kjent som heksadesimale tellingsystemet. Hexadecimal blir ofte kontraheres til bare

hex. Hexadecimal bruker de samme tallene for tallene 0 til 9. For tallene mellom 9 og 16 bruker hexadecimal de første seks bokstavene i alfabetet: A for 10, B for 11, og så videre. Således blir 123 10 7B

16 . 123 = 7 * 16 1 + B (dvs. 11) * 16

0 = 7B 16 Fordi programmerere foretrekker å uttrykke tall i 4, 8, 32 eller 64 biter, foretrekker de tilsvarende heksadesimale tall i 1, 2, 4 eller 8 heksadesimale siffer selv når de ledende tallene er 0. Til slutt er det ubeleilig å uttrykke et heksadesimalt tall som 7B < 16 bruker et abonnement, fordi terminaler ikke støtter abonnementer. Selv på et tekstbehandlingsprogram, er det ubeleilig å endre skrifttyper til og fra abonnentmodus bare for å skrive to sifre. Derfor bruker programmererne konvensjonen om å starte et heksadesimalt tall med en 0x (årsaken til en så merkelig overbevisning går tilbake til de tidlige dagene av C). Dermed blir 7B 0x7B. Ved bruk av denne konvensjonen er 0x7B lik 123 (mens 0x123 er lik 291.)

Alle de matematiske operatørene kan utføres på heksadesimale tall på samme måte som de brukes til desimaltall. Grunnen til at vi ikke kan utføre en multiplikasjon som 0xC * 0xE i hodene våre, har mer å gjøre med multiplikasjonstabellene vi lærte på skolen enn på noen begrensninger i talesystemet.

Uttrykker binære tall i C ++-dummier

Redaktørens valg

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Vanlige medikamenteffekter for legeassistenteksamen - dummies

Bli kjent med vanlige bivirkninger for legeassistenteksamen (PANCE). Den gjennomsnittlige personen over 60 år tar omtrent ni reseptbelagte medisiner og ser minst fire forskjellige helsepersonell. Potensialet for noen til å oppleve bivirkningene av disse medisinene er enorm, og det er potensialet for signifikante legemiddelinteraksjoner. ...

Epidemiologiske studier dekket av legeassistenteksamen - dummies

Epidemiologiske studier dekket av legeassistenteksamen - dummies

For legeassistenteksamen (PANCE) du bør være oppmerksom på forskjellene mellom typer epidemiologiske studier. Det første trinnet er å gjenkjenne om studiet er en retrospektiv studie eller en prospektiv studie: Retrospektiv: En retrospektiv studie betyr at du ser på fortiden for å finne ut hva som skjedde. For eksempel, en ...

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Forhold som påvirker pleura dekket på legeassistenteksamen - dummies

Du kan se Spørsmål om legeassistenteksamen om forhold som påvirker pleura. Du må vurdere evaluering og behandling av pleural effusions, pneumothorax og pleurisy. Væske rundt lungene: Pleural effusjon Normalt er pleura et tomt rom; en pleural effusjon er ganske enkelt væske som opptar den plassen. Pleural ...

Redaktørens valg

Slik setter du automatiske varsler på LinkedIn - dummies

Slik setter du automatiske varsler på LinkedIn - dummies

Sikkert, du kan gjøre alt fotverket ved å gå til LinkedIn hjemmesiden og ser deg rundt for å se hvilke meldinger eller endringer som har skjedd. Den sanne kraften til å holde kontakten, har imidlertid LinkedIn, kontakter deg automatisk med den informasjonen du trenger for å holde deg informert. Klikk på Administrer-koblingen ved siden av Personvern og innstillinger ...

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Tips for å administrere dine LinkedIn Post-interaksjoner - dummies

Når du klikker Publiser på LinkedIn, kan du tenke at jobb er ferdig, men det er bare begynt. Etter hvert som flere og flere leser innlegget ditt, kan de samhandle med innlegget og med deg som forfatter. Her er noen ting å huske på etter at du har publisert et innlegg: Overvåk statistikken. Når du ...

Forstå LinkedIn Pulse - dummies

Forstå LinkedIn Pulse - dummies

Har du sjekket ut LinkedIn Pulse ennå? Tenk deg om du leser en avis som bare viste deg artikler som har betydning for deg. (For det hele, for mange av dere, tenk på de dagene du kanskje har lest en avis.) Tilpassede nyheter er mulige, og på LinkedIn kalles det LinkedIn Pulse. Alt du trenger å gjøre for å ...

Redaktørens valg

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Hva Dragon NaturallySpeaking kan gjøre for deg - dummies

Noe om å diktere til en datamaskin vekker alle slags urealistiske forventninger hos mennesker. Hvis du forventer at du skal servere deg frokost på sengen, har du lykke til. Denne artikkelen ble ikke skrevet ved å si "Computer, skriv en bok om NaturallySpeaking. "Forfatteren måtte diktere det ord for ord, akkurat som hun ville hatt ...

Når Start ikke starter i NaturallySpeaking - dummies

Når Start ikke starter i NaturallySpeaking - dummies

Når du gir kommandoen "Start" til Dragon NaturallySpeaking, du sier "Start America Online" eller "Start Microsoft Works" eller "Start Quicken", og programmet skal åpnes. Men hva hvis det ikke gjør det? Hva er greia? Start-kommandoen starter et program som er installert på maskinen din, og har enten et snarveisikon på ...

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når NaturallySpeaking Menykommandoer ikke fungerer - dummies

Når du gir en kommando til NaturallySpeaking, for eksempel "Klikk" og ingenting skjer, det sannsynlige problemet er at menyen Bruk menyer som er kompatible med skjermlesere, ikke er merket av. For å sjekke det: Velg Verktøy → Valg i vinduet NaturallySpeaking. Det er ikke noe poeng å fortelle deg hvordan du får tilgang til dette med stemmen, for det er akkurat ...