Hjem Personlig finansiering Udtrykker binære tal i C ++-dummier

Udtrykker binære tal i C ++-dummier

Indholdsfortegnelse:

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2024

Video: Exploring JavaScript and the Web Audio API by Sam Green and Hugh Zabriskie 2024
Anonim

C ++-variabler lagres internt som såkaldte binære tal. Binære tal gemmes som en sekvens af 1 og 0 værdier kendt som bits. Det meste af tiden behøver du ikke rigtig at håndtere tal på bitniveauet; dog er der lejligheder, når det gør det praktisk. C ++ giver et sæt operatører til dette formål.

De såkaldte bitwise logiske operatører opererer på deres argumenter på bitniveauet. For at forstå, hvordan de fungerer, skal du undersøge, hvordan computere gemmer variabler.

Decimaltalsystemet

De tal, du kender til, kaldes decimaler , fordi de er baseret på nummeret 10. Generelt viser programmereren C ++ variabler som decimaltal. Således vil du sige, at værdien af ​​ var er 123, for eksempel.

Et tal som 123 henviser til 1 * 100 + 2 * 10 + 3 * 1 . Hvert af disse basetal - 100, 10 og 1 - er en effekt på 10.

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

Udtrykt på en lidt anderledes men ækvivalent måde:

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

Husk at ethvert nummer til nul-effekten er 1.

Andre talesystemer

Brugen af ​​et base nummer på 10 for Tællingsystemet stammer sandsynligvis fra det faktum, at mennesker har 10 fingre, de oprindelige tælleværktøjer. Alternativet ville have været base 20.

Hvis hunde havde opfundet vores nummereringsplan, kan det godt have været baseret på tallet 8 (et ciffer i hver pot er ude af syne på benets bagside). Et sådant oktal system ville have fungeret lige så godt:

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

Den lille 10 og 8 henviser her til nummereringssystemet, 10 for decimal (base 10) og 8 til oktal (base 8). Et tælle system kan bruge en hvilken som helst positiv base.

Det binære talesystem

Computere har stort set to fingre. (Måske er det derfor computere der er så dumme: Uden en modstandsdygtig tommelfinger kan de ikke forstå noget. Og så igen, måske ikke.) Computere foretrækker at tælle ved hjælp af base 2. Nummeret 123 10 ville blive udtrykt som:

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

= 01111011 < 2 Det er altid konvention at udtrykke binære tal ved at bruge 4, 8, 32 eller 64 binære cifre, selvom de førende cifre er nul. Dette er også på grund af den måde, hvorpå computere er bygget internt.

Da udtrykket

ciffer refererer til et flertal på ti, kaldes et binært tal en bit . Udtrykket stammer fra binær (b-) ciffer (-it).Otte bits udgør en byte. Et ord er normalt enten to eller fire bytes. Med en sådan lille base er det nødvendigt at bruge et stort antal bits til at udtrykke tal. Det er ubelejligt at anvende et udtryk som 01111011

2 for at udtrykke en sådan dagligdags værdi som 123 10 . Programmører foretrækker at udtrykke tal ved enheder af bytes eller otte bits. En enkelt firebits-ciffer er i det væsentlige base 16, fordi fire bits kan udtrykke sig til en hvilken som helst værdi fra 0 til 15. Basis 16 er kendt som

hexadecimalt tællesystem. Hexadecimal er ofte kontraheret til simpelthen hex. Hexadecimal bruger de samme tal for tallene 0 til 9. For cifrene mellem 9 og 16 anvender hexadecimal de første seks bogstaver i alfabetet: A for 10, B for 11 og så videre. Således bliver 123

10 7B 16 . 123 = 7 * 16

1 + B (dvs. 11) * 16 0 = 7B 16 Fordi programmører foretrækker at udtrykke tal i 4, 8, 32 eller 64 bit, foretrækker de ligeledes at udtrykke hexadecimale tal i 1, 2, 4 eller 8 hexadecimale cifre, selv når de førende cifre er 0.

Endelig er det ubelejligt at udtrykke et hexadecimalt tal som 7B < 16

ved hjælp af et abonnement, fordi terminaler ikke understøtter abonnementer. Selv på et tekstbehandlingsprogram er det ubelejligt at ændre skrifttyper til og fra abonnenttilstand bare for at skrive to cifre. Derfor bruger programmører konventionen til at starte et hexadecimalt tal med en 0x (grunden til en sådan mærkelig overbevisning går tilbage til de tidlige dage af C). Således bliver 7B 0x7B. Ved brug af denne konvention er 0x7B lig med 123 (mens 0x123 svarer til 291.) Alle de matematiske operatorer kan udføres på hexadecimale tal på samme måde som de anvendes til decimaltal. Årsagen til, at vi ikke kan udføre en multiplikation som 0xC * 0xE i vores hoveder, har mere at gøre med de multiplikationstabeller, vi lærte i skolen, end på nogen begrænsning i talesystemet.

Udtrykker binære tal i C ++-dummier

Valg af editor

Routingprotokollvalgskriterier - dummies

Routingprotokollvalgskriterier - dummies

Folk bruger to grundlæggende metoder til klassificering af ruteprotokoller - hvor de bruges og af hvordan de beregner routing. Du kan se, hvordan du vælger protokoller baseret på, hvor du planlægger at bruge dem, måden protokollen håndterer data på, og hvordan din router vælger hvilken protokol der skal bruges, når mere end en ...

Indstilling af Cisco Device Timeouts - dummies

Indstilling af Cisco Device Timeouts - dummies

Uden at indstille timeout-indstillinger for Cisco Device Privileged EXEC-tilstand, dine sessioner forbliver åbne på ubestemt tid. Dette er især farligt for konsolporten. Uden timeout parametre aktiveret, hvis administratoren ikke logger ud, har en indtrenger adgang og ingen problemer får forhøjede tilladelser. For at undgå denne potentielt farlige situation behøver du kun skrive a ...

Router Ethernet-interfacekonfiguration - dummies

Router Ethernet-interfacekonfiguration - dummies

Du starter processen med at konfigurere router Ethernet-grænseflader ved at foretage en fysisk forbindelse til din router. Når du har etableret forbindelsen, kan du fortsætte med den grundlæggende konfiguration af Ethernet-, Fast Ethernet- eller Gigabit Ethernet-forbindelser. Tilslutning til din router For at starte din konfiguration skal du oprette forbindelse til din router og komme ind i ...

Valg af editor

Med fokus på nogle hurtige løsninger til fotofile - dummier

Med fokus på nogle hurtige løsninger til fotofile - dummier

På trods af alle kameraproducenters forsøg på at gør fotografering idiotsikker, vi laver alle stadig mindre end perfekte billeder. Nogle gange er vi problemet - vi er for tætte eller for langt væk, eller kan ikke finde ud af, hvordan du bruger kameraets tåbebeskyttelsesfunktioner. Nogle gange er problemet, at virkeligheden nøjagtigt nægter at overholde vores forventninger: Himlen er ...

Lær at kende dine Manga Studio Layer Typer - Dummies

Lær at kende dine Manga Studio Layer Typer - Dummies

Manga Studio giver et udvalg af lag typer til brug i dit arbejde. Når du lærer at forstå og forstå, hvordan lag fungerer, vil du spekulere på, hvordan du nogensinde har arbejdet uden dem. Her er en introduktion til, hvad Manga Studio har til opbevaring for dig i sin lag lineup: Raster Layer: Dette er det grundlæggende ...

Få dit mobilwebsted tildelt på sociale bogmærker - dummies

Få dit mobilwebsted tildelt på sociale bogmærker - dummies

Populariteten af ​​websider med antallet af stemmer, de får. Resultatet er, at disse websteder er gode ressourcer til folk, der ønsker at holde øje med, hvad der er populært online. De fleste tilbyder speciel software, der gør det nemt for alle at stemme på et websted. Få dit websted opført ...

Valg af editor

Automatisk opdatering af din journal i Outlook 2000 - dummies

Automatisk opdatering af din journal i Outlook 2000 - dummies

Stardat 2001: På Star Trek, Virksomheden gør trofast daglige poster i kaptajnens log. Kaptajnen registrerer oplysninger om de planeter, besætningen har udforsket, udlændinge, de har kæmpet, og de bizarre fænomener, de har observeret ud i det dybe rum, hvor ingen er gået før! Nu er det din tur. Bare ...

Slet og gendan kontakter i Outlook - dummies

Slet og gendan kontakter i Outlook - dummies

Med Outlook, du behøver ikke at rive sider ud af en papir adressebog for at slippe af med en persons oplysninger; bare slet kontakten. Slettede kontakter går til mappen Slette emner i Outlook, indtil næste gang du tømmer mappen Slette elementer, så du kan hente dem derfra, hvis du laver ...