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 2025

Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
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

Hvordan lage Baseball Practice Fun - Dummies

Hvordan lage Baseball Practice Fun - Dummies

Som baseball trener må du ikke bare lære laget ditt grunnleggende i spillet, må du lære disse grunnleggende morsomme, slik at spillerne blir interessert og engasjert. Bruk tipsene i følgende liste for å gjøre baseballøvelsen morsom: Sørg for mange repetisjoner for hvert barn. Stopp treningen kort ...

Basisspillers ansvar i Baseball - dummies

Basisspillers ansvar i Baseball - dummies

Baseball trener er ikke bare ansvarlige for lagspillet som en hel, men for coaching spillere når de når første og tredje base i løpet av et baseballspill. Ansvaret for å coaching hver base er forskjellig. Hva en første basissjåfør gjør: Oppfordrer smeten til å kaste ned første baseline på infield hits. ...

Hvordan fantasy baseball ligaene blir scoret - dummies

Hvordan fantasy baseball ligaene blir scoret - dummies

Fantasy baseball har tre hovedspillformater som bestemmer hvordan ligaen din score punkter. Spillformatene for fantasybaseball er Rotisserie, Head-to-Head One Win og Point System. Hvert format blir scoret avhengig av ligaoppsettet. For eksempel vil 5 × 5 liga score poeng eller gevinster / tap på fem forhåndsvalgte treffstatistikk, samt fem ...

Redaktørens valg

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Kan trene det når som helst. Uformell oppmerksomhet meditasjon er når du trener oppmerksomhet uten å skille ut en spesiell tid for det. Her er ti eksempler på uformell oppmerksomhet: Mindful kommunikasjon - Når du snakker eller hører på noen andre, blir du klar over lyden av ...

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

En nydelig holdning til å ha oppmerksomhet og Livet generelt er lekenhet og lethed. Hvis en meditasjon ikke virker for deg første gang eller ikke føles riktig for deg, ikke vær panikk, men tenk på opplevelsen som et eksperiment som du kan prøve igjen senere. Tilnærming oppmerksomhet som du ville et nytt spill eller ...

Redaktørens valg

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

For å bestemme seg for en Kvalitetsinnstilling (eller bildeoppløsningstørrelse) for Canon Rebel T3 eller T3i, den første avgjørelsen du må gjøre er hvor mange piksler du vil at bildet skal inneholde. Piksler er de små firkantede fliser hvorfra alle digitale bilder er laget; piksel er kort for bildeelement. Hvis din ...

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Videoopplastingsfunksjonen på Canon EOS Rebel T7i / 800D fanger korte videoklipp som er sydd i et enkelt opptak, kalt et videoalbum. Du kan stille klippelengden til 8, 4 eller 2 sekunder lang (men alle klippene i et album må ha samme lengde). Med tanke på individets korthet ...