Tallsystemer: En introduksjon til Binary, Heksadesimal, og More

Number Systems: En introduksjon til Binary, Heksadesimal, og Mer
18
Del
18
Del

Dette Cyber ​​mandag Envato Tuts + kurs vil bli redusert til bare $ 3. Ikke gå glipp av.

Helt se sprø binære tall og lurer på hva de mente? Helt se tall med bokstaver blandet inn og lurer på hva som skjer? Du vil finne ut alt dette og mer i denne artikkelen. Heksadesimale trenger ikke å være skremmende.


Dette er egentlig definisjonen av basis-10. For å få en verdi på et nummer i basen-10, vi bare følger dette mønsteret. Her er noen flere eksempler:

892 = 8 * 10 2 + 9 * 10 1 + 2 * 10 0

1 147 = 1 * 10 3 + 1 * 10 2 + 4 * 10 1 + 7 * 10 0

53 = 5 * 10 1 + 3 * 10 < sup> 0

Riktignok synes alt dette litt dumt. Vi vet alle hvilken verdi en base-10 tallet er fordi vi alltid bruke basen-10, og det er naturlig for oss. Som vi vil se snart, men hvis vi forstår mønstrene i bakgrunnen på basen-10, kan vi forstå andre baser bedre.



Base-8

På for å base 8, også kalt oktal. Base-8 betyr akkurat det er høres ut som: systemet er basert på nummer åtte (i motsetning til ti). Husk hvordan i basen-10 hadde vi ti sifre? Nå, i basen-8, er vi begrenset til bare åtte sifre: 0, 1, 2, 3, 4, 5, 6 og 7. Det finnes ikke noe slikt som 8 eller 9.

Vi teller samme måte som vi normalt ville gjort, bortsett fra med bare åtte sifre. I stedet for en lang forklaring, bare prøve ut demoen nedenfor ved å klikke på "telle opp en" for å se hvordan telling i basen-8 fungerer.

Du bør legge merke til et lignende mønster til før; etter at vi får til 7, kjører vi ut av forskjellige tall for noe høyere tall. Vi trenger en måte å representere åtte av noe. Så vi legge til en annen sifret, endre 7 tilbake til 0, og ender opp med 10. Vårt svar av 10 i base 8 nå representerer hva vi normalt ville tenke på som 8 i basen-10.

Å snakke om tall skrevet i flere baser kan være forvirrende. For eksempel, som vi nettopp har sett, 10 i basis-8 er ikke det samme som 10 i bunnen-10. Så, fra nå av, vil jeg bruke en standard notasjon hvor en senket betegner bunnen av tall hvis nødvendig. For eksempel, vår base-8-versjonen av 10 nå ser ut som 10 8.



Konvertering fra Base-10 til Base-8

Konvertering fra bunn-10 til base 8 er litt mer komplisert, men likevel enkel. Vi har i utgangspunktet å reversere prosessen ovenfra. La oss starte med et eksempel:. 150 10

Vi først finne den største kraften av åtte som er mindre enn våre tall. Her er denne 8 2 eller 64 (8 3 er 512). Vi teller hvor mange grupper av 64 kan vi ta fra 150. Dette er to, så det første sifferet i vår base-åtte tall er 2. Vi har nå sto for 128 av 150, så vi har 22 til overs. Anmeldelser

Den største kraft på 8 som er mindre enn 22 er 8 1 (det vil si, 8). Hvor mange grupper av åtte kan vi ta fra 22? To grupper igjen, og dermed vår andre sifferet er 2.

Til slutt sitter vi igjen med seks, og kan selvsagt ta 6 grupper med en fra denne, vår siste sifferet. Vi ender opp med 226 8.

Faktisk kan vi gjøre denne prosessen en touch klarere med matematikk. Her er fremgangsmåten:


    150/8 2 = 2 rester 22

    22/8 1 = 2 resterende seks

    6 /8 0 = 6

    Vårt endelige svaret er da alle våre ikke-resten sifre eller 226. Legg merke til at vi fortsatt starte ved å dividere med den høyeste makt av 8 som er mindre enn vår nummer.



    Dealing med noen Base

    Det er viktig å være i stand til å bruke begreper som vi har lært om base 8 og base 10 til noen base. Akkurat som base-8 hadde åtte sifre og basis-10 hadde ti sifre, har enhver base samme antall sifre som sin base. Så basen-5 har fem sifre (0-4), basis-7 har syv sifre (0-6), etc.

    La oss nå se hvordan du finner base-10 verdien av et tall i noen base . Si at vi arbeider i basen-b, der b
    kan være et positivt heltall. Vi har en rekke d 4d 3d 2d 1d 0 hvor hver d er et siffer i et tall. (Indeksene her ikke referere til bunnen av antall, men rett og slett skille hvert tall.) Vår base-10 verdien er rett og slett d 4 * b 4 + d 3 * b 3 + d 2 * b 2 + d 1 * b 1 + d 0 * b 0

    Her er et eksempel:. Vi har nummeret 32311 i basen-4. Legg merke til hvordan våre tall har kun tall fra null til tre siden basen-4 har bare fire totalt sifre. Vår base-10 verdi er 3 * 4 4 + 2 * 4 3 + 3 * 4 2 + 1 * 4 1 + 1 * 4 0 = 3 * 256 + 2 * 64 + 3 * 16 + 1 * 4 + 1 * 1 = 949. Vi kunne, eller kurs, følger dette mønsteret med et beløp av sifrene i våre tall.



    Base-16

    Base-16 er også kalt heksadesimal. Det er vanligvis brukes i dataprogrammering, så det er veldig viktig å forstå. La oss starte med å telle i heksadesimal å sørge for at vi kan bruke det vi har lært om andre baser så langt.

    Siden vi jobber med sokkel-16, har vi 16 sifre. Så har vi 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ... og yikes! Vi har kjørt ut av sifre, men vi trenger fortsatt seks mer. Kanskje vi kunne bruke noe sånt som en sirkel 10?

    Sannheten er at vi kunne, men dette ville være smertefullt å skrive. I stedet bruker vi bare bokstavene i alfabetet, som starter med A og fortsetter å F. Her er en tabell med alle sifrene i base 16:

    Annet enn disse ekstra sifre, er heksadesimale akkurat som alle andre basen. For eksempel, la oss konvertere 3D 16 å basere-10. Etter våre tidligere regler, har vi: 3D 16 = 3 * 16 1 + 13 * 16 0 = 48 + 13 = 61. Så 3D 16 er lik 61 10 . Legg merke til hvordan vi bruker D's verdi av 13 i vår beregning.

    Vi kan konvertere fra bunn-10 å basere-16 på samme måte som vi gjorde med basis-8. La oss konvertere 696 10 å basere-16. Først finner vi den største kraft av 16 som er mindre enn 696 10. Dette er 16 2, eller 296. Deretter:


      696/16 2 = 2 rester 184

      184/16 1 = 11 resterende 8

      8/16 1 = 8 resten 0

      Vi må erstatte 11 med sin sifret representasjon B, og vi får 2B8 16.
      < p> Prøv gjerne noen flere konverteringer for praksis. Du kan bruke programmet under for å sjekke svarene dine:



      Binary! (Base-2)

      På den berømte base 2, også kalt binær. Selv om alle vet binær består av 0'er og 1'ere, er det viktig å forstå at det er ikke annerledes matematisk enn noen annen base. Det er en gammel vits som går slik:?


      Kan du finne ut hva det betyr

      La oss prøve noen konverteringer med basis-2. Først vil vi konvertere 101100 2 til base-10. Vi har:. 101100 = 1 * 2 5 + 1 * 2 3 + 1 * 2 2 = 32 + 8 + 4 = 44 10

      Nå skal konvertere 65 til binær. 2 6 er den høyeste potens av 2 mindre enn 65, så:


        65/2 6 = 1 rester en

        1/2 5 = 0 rest en

        1/2 4 = 0 rest en

        1/2 3 = 0 rest en

        1/2 2 = 0 rest en

        1/2 1 = 0 rest en

        1/2 0 = en rest 0

        Og dermed vi får vår binære tall, er 1000001.

        Forståelse binær super viktig. Jeg har tatt en tabell nedenfor for å peke ut siffer enes verdier.

        For eksempel er verdien av 10001 17, som er summen av verdiene av de to sifrene 1 (16 + 1). Dette er ikke noe annerledes enn vi har gjort før, det bare presentert på en lettlest måte.



        triks og tips

        Normalt når du konverterer mellom to baser som ikke er basen-10, ville du gjøre noe sånt som dette:


          Konverter tall å basere-10

          Konverter resultatet til ønsket basen

          Men det er en Trikset som lar deg konvertere mellom binære og heksadesimale raskt. Først, ta noen binære tall og dele sine tall inn i grupper på fire. Så sier vi har nummeret 1011101 2. Delt opp vi har 0101 1101. Legg merke til hvordan vi kan bare legge til ekstra nuller til forsiden av den første gruppen til å lage grupper av 4. Vi nå finne verdien for hver gruppe som om det var sin egen separat nummer, noe som gir oss 5 og 13. Til slutt, vi bare bruke de tilsvarende heksadesimale sifre for å skrive ut base 16 nummer, 5D 16.

          Vi kan gå den andre veien også, ved å konvertere hver heksadesimalsiffer i fire binære siffer. Prøv å konvertere B7 16 til binær. Du bør få 10110111 2

          Dette trikset fungerer fordi 16 er en kraft 2. Hva dette betyr er at vi bruker lignende knep for basen-8, som også er en potens av 2.

          Selvfølgelig kan du reversere prosessen til å gå fra basen-8 til binær også.



          Konklusjon

          La oss gå hele veien tilbake og se fargen gjetter spill.

          I Flash, er farger lagres som et enkelt tall. Når konvertert til heksadesimale, de to første sifrene representerer mye rødt, de neste to mengden av grønt, og de siste to mengden blått. Så, hvis vår farge er 17FF18 16 kan vi enkelt si at vår røde komponenten er 17 16 eller 23 10. Vår grønne komponenten er FF 16, eller 255 10. Endelig vår blå komponenten er 18 16 eller 24 10. Hvis vi får base-10-versjonen av vår farge, 1572632 10, trenger vi å konvertere den til heksadesimale før vi kan si noe om det.

          Prøv spillet på nytt, og se hvor mye bedre du kan gjøre!

          Forstå ulike tallsystemer er svært nyttig i mange PC-relaterte felt. Binær og heksadesimal er svært vanlig, og jeg oppfordrer deg til å bli godt kjent med dem. Takk for lesing - Jeg håper du har lært mye av denne artikkelen! Føl deg fri til å ta tak i kildekoden fra noen av demoene. Også, hvis du har noen spørsmål, kan du be dem nedenfor. Anmeldelser