Konvertering av binær til heksadesimal
- Kategori: Guider
Noen ganger er det fint å ta pause fra opplæringsprogrammer, og se på noe litt nørrere. Vi har alle sett binær kode, og de fleste vet at den består av to tegn, null og en. De fleste forstår også at binær kode kan konverteres til desimal ved å ta det binære tallet fra høyre side av sekvensen og bruke den på en annen sekvens med tall 'to til kraften til'. For eksempel kan en åttesifret binær kode se slik ut - “10010001”. Dette inkluderer en “1”, en “16” og en “128”, noe som gir en total sum på 145. Det er ganske enkelt. Det blir mer sammensatt når du legger til flere tall, men rektoren er den samme.
Nå - hvis du gjør mye HTML-arbeid, vil du ha sett koder som representerer farger. Disse kodene inkluderer bokstaver og er i heksadesimal. Bokstavene er faktisk tall, men fordi tegnene vi ofte bruker er i base 10, dvs. sifrene 0 til 9, må vi bruke bokstaver for å representere tallene 10,11,12,13,14 og 15. Dette er fordi heksadesimal er base 16, og har 16 sifre inkludert null. Vi bruker ikke to tegn i et heksadesimal tall før vi kommer til tallet 16, som faktisk er “10”. Dette representerer en seksten. Det heksadesimale tallet “18” er faktisk seksten pluss 8, som er 24. Heksekoden “1F” representerer 31 i desimal fordi vi har en seksten pluss 15. Få ideen?
OK, så vi kan stort sett finne ut hva et heksetall i desimal er når vi bare har to tegn. Det ene sifferet representerer hvor mange “16” vi har, og det andre teller ganske enkelt fra null til femten. Så det høyeste antallet vi har er “FF”, som er femten ganger seksten, pluss femten. Svaret er 255. Allerede kan du se fordelene med hex, for i binær vil dette tallet kreve åtte tegn, og vi har gjort det i to.
Så hvordan løser vi større tall i desimaler enklere? Svaret er å dele hvert hex-tegn i det binære ekvivalentet. Så hex nummer 8FA4 blir i binær 1000.1111.1011.0100. Her kan vi se hvert nummer som utgjør det ultimate svaret. Fra venstre har vi en 4, en 16, en 32, en 128 osv ... helt opp til den siste karakteren, som er en 32.768. Legg til alle tallene som er representert av dem sammen, og vi har 36772. Så heksekoden vår på 8FA4 er faktisk 36772 i desimal. Fire tegn som representerer noe som er seksten tegn i binær, er veldig imponerende.
Hvis du husker tilbake heksekodene dine i HTML som representerer farger, vil du legge merke til at du har heksekoder på 6 tegn. Det første tegnet representerer 16-tallet, det andre 16-tallet til makten 2, det tredje er seksten til kraften 3 og så videre. Hvis du regner ut det, er det største antallet du kan ha med seks sekskantesifre 16 777 215. Nesten sytten millioner farger representert med bare seks tegn.