EngelsFransSpaans

Ad


OnWorks-favicon

bin_dec_hex - Online in de cloud

Voer bin_dec_hex uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht bin_dec_hex die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


bin_dec_hex - Hoe binaire, decimale en hexadecimale notatie te gebruiken.

PRODUCTBESCHRIJVING


De meeste mensen gebruiken het decimale nummeringssysteem. Dit systeem gebruikt tien symbolen om te vertegenwoordigen
nummers. Wanneer die tien symbolen zijn opgebruikt, beginnen ze helemaal opnieuw en verhogen de
positie naar links. Het cijfer 0 wordt alleen weergegeven als het het enige symbool in de reeks is,
of als het niet de eerste is.

Als dit je cryptisch in de oren klinkt, is dit wat ik zojuist in cijfers heb gezegd:

0
1
2
3
4
5
6
7
8
9
10
11
12
13

enzovoort.

Elke keer dat het cijfer negen wordt opgehoogd, wordt het teruggezet naar 0 en de positie ervoor (naar de
links) wordt opgehoogd (van 0 naar 1). Dan is nummer 9 te zien als "00009" en wanneer wij
zou 9 moeten verhogen, resetten we het naar nul en verhogen we het cijfer net voor de 9, dus de
nummer wordt "00010". Voorloopnullen schrijven we niet, behalve als het het enige cijfer is
(nummer 0). En natuurlijk schrijven we nullen als ze ergens in of aan het einde van a voorkomen
aantal:

"00010" -> " 0010" -> " 010" -> " 10", maar niet " 1 ".

Dit was vrij basic, dit wist je al. Waarom heb ik het verteld? Nou ja, computers meestal
vertegenwoordigen geen getallen met 10 verschillende cijfers. Ze gebruiken slechts twee verschillende symbolen,
namelijk "0" en "1". Pas dezelfde regels toe op deze reeks cijfers en je krijgt het binaire getal
nummering systeem:

0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101

enzovoort.

Als je het aantal rijen telt, zie je dat dit weer 14 verschillende getallen zijn. De
nummers zijn hetzelfde en betekenen hetzelfde als in de eerste lijst, we hebben alleen een andere gebruikt
vertegenwoordiging. Dit betekent dat u de gebruikte weergave moet kennen, of zoals deze is
het nummeringssysteem of basis genoemd. Normaal gesproken, als we het niet expliciet specificeren
nummeringssysteem gebruikt, gebruiken we impliciet het decimale systeem. Als we een andere willen gebruiken
nummeringssysteem, dat moeten we duidelijk maken. Er zijn een paar algemeen aanvaarde methoden om
doen. Een veel voorkomende vorm is schrijven 1010(2) wat betekent dat je er een getal in hebt opgeschreven
binaire weergave. Het is het getal tien. Als u 1010 zou schrijven zonder op te geven
het grondtal, wordt het getal geïnterpreteerd als duizendtien met grondtal 10.

In boeken is een andere vorm gebruikelijk. Het gebruikt subscripts (kleine karakters, min of meer in
tussen twee rijen). U kunt dan de haakjes weglaten en de
nummer in normale karakters gevolgd door een kleine twee erachter.

Omdat het gebruikte nummeringssysteem ook wel het grondtal wordt genoemd, spreken we van het getal 1100 grondtal 2,
het getal 12 basis 10.

Binnen het binaire systeem is het gebruikelijk om voorloopnullen te schrijven. De cijfers zijn geschreven
neer in reeksen van vier, acht of zestien, afhankelijk van de context.

We kunnen de binaire vorm gebruiken wanneer we met computers praten (...programmeren...), maar de getallen
zullen grote vertegenwoordigingen hebben. Het getal 65'535 (vaak in het decimale systeem een ​​' is
gebruikt om blokken van drie cijfers te scheiden voor leesbaarheid) zou worden opgeschreven als
1111111111111111(2) wat 16 keer het cijfer 1 is. Dit is moeilijk en foutgevoelig.
Daarom gebruiken we meestal een ander grondtal, hexadecimaal genoemd. Het gebruikt 16 verschillende
symbolen. Eerst worden de symbolen uit het decimale stelsel gebruikt, daarna gaan we verder met
alfabetische tekens. We krijgen 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E en F. Dit
systeem is gekozen omdat de hexadecimale vorm zeer kan worden omgezet in het binaire systeem
gemakkelijk (en terug).

Er is nog een ander systeem in gebruik, het octale systeem. Dit kwam vaker voor in de
oude dagen, maar wordt niet vaak meer gebruikt. Zoals je het soms in gebruik zou kunnen vinden, jij
moet er even aan wennen en we laten het hieronder zien. Het is hetzelfde verhaal als bij de andere
voorstellingen, maar met acht verschillende symbolen.

Binair (2)
Octaal (8)
Decimaal (10)
Hexadecimaal (16)

(2) (8) (10) (16)
00000 0 0 0
00001 1 1 1
00010 2 2 2
00011 3 3 3
00100 4 4 4
00101 5 5 5
00110 6 6 6
00111 7 7 7
01000 10 8 8
01001 11 9 9
01010 A
01011 B
01100 14 C
01101 D
01110 E
01111 17 F.
10000 20 16 10
10001 21 17 11
10010 22 18 12
10011 23 19 13
10100 24 20 14
10101 25 21 15

De meeste computers die tegenwoordig worden gebruikt, gebruiken bytes van acht bits. Dit betekent dat ze opslaan
acht bits tegelijk. Je kunt zien waarom het octale systeem daarvoor niet het meest praktisch is:
Je hebt drie cijfers nodig om de acht bits weer te geven en dat betekent dat je moet gebruiken
één volledig cijfer vertegenwoordigt slechts twee bits (2+3+3=8). Dit is een verspilling. Voor hexadecimaal
cijfers, hebt u slechts twee cijfers nodig die volledig worden gebruikt:

(2) (8) (10) (16)
11111111 377 255 ff

U kunt zien waarom binair en hexadecimaal snel kunnen worden geconverteerd: voor elk hexadecimaal
cijfer zijn er precies vier binaire cijfers. Neem een ​​binair getal: neem vier cijfers uit
naar rechts en maak er een hexadecimaal cijfer van (zie bovenstaande tabel). Herhaal dit tot
er zijn geen cijfers meer. En andersom: Neem een ​​hexadecimaal getal. Voor elk
cijfer, noteer het binaire equivalent ervan.

Computers (of beter gezegd de parsers die erop draaien) zouden moeite hebben met het converteren van een
nummer zoals 1234(16). Daarom worden hexadecimale getallen gespecificeerd met een voorvoegsel. Dit
voorvoegsel is afhankelijk van de taal waarin u schrijft. Sommige voorvoegsels zijn "0x" voor C, "$"
voor Pascal, "#" voor HTML. Het is gebruikelijk om aan te nemen dat als een getal met een nul begint, het
is octaal. Het maakt niet uit wat er gebruikt wordt, als je maar weet wat het is. ik zal "0x" gebruiken
voor hexadecimaal, "%" voor binair en "0" voor octaal. De volgende nummers zijn alle
hetzelfde, alleen hun representatie (basis) is anders: 021 0x11 17 %00010001

Om te kunnen rekenen en omrekenen moet je nog één ding begrijpen. Het is iets
je weet het al, maar misschien "zie" je het nog niet:

Als je 1234 opschrijft (geen voorvoegsel, dus decimaal) heb je het over het getal één
duizend tweehonderd vierendertig. In een soort formule:

1 * 1000 = 1000
2 * 100 = 200
3 * 10 = 30
4 * 1 = 4

Dit kan ook worden geschreven als:

1*10^3
2*10^2
3*10^1
4*10^0

waarbij ^ betekent "tot de macht van".

We gebruiken het grondtal 10 en de posities 0,1,2 en 3. De meest rechtse positie moet
NIET vermenigvuldigen met 10. De tweede van rechts moet een keer worden vermenigvuldigd met
10. De derde van rechts wordt twee keer vermenigvuldigd met 10. Dit gaat voor wat dan ook door
posities worden gebruikt.

Het is hetzelfde in alle andere representaties:

0x1234 zal zijn

1*16^3
2*16^2
3*16^1
4*16^0

01234 zou zijn

1*8^3
2*8^2
3*8^1
4*8^0

Dit voorbeeld kan niet worden gedaan voor binair omdat dat systeem slechts twee symbolen gebruikt. Een andere
voorbeeld:

%1010 zou zijn

1*2^3
0*2^2
1*2^1
0*2^0

Het zou gemakkelijker zijn geweest om het om te zetten naar zijn hexadecimale vorm en gewoon %1010 te vertalen
in 0xA. Na een tijdje raak je eraan gewend. U hoeft geen berekeningen te maken
meer, maar weet gewoon dat 0xA 10 betekent.

Om een ​​decimaal getal om te zetten in een hexadecimaal getal, kunt u de volgende methode gebruiken. Het zal nemen
enige tijd om de schattingen te kunnen doen, maar het zal gemakkelijker zijn als u het systeem gebruikt
vaker. We zullen later nog een andere manier bekijken.

Eerst moet u weten hoeveel posities er in het andere systeem worden gebruikt. Om dit te doen, jij
moet weten hoeveel u maximaal zult gebruiken. Nou, dat is niet zo moeilijk als het lijkt. In
decimaal is het maximale getal dat u met twee cijfers kunt vormen "99". Het maximum voor
drie: "999". Het volgende nummer zou een extra positie nodig hebben. Keer dit idee om en je zult het doen
zie dat het nummer kan worden gevonden door 10^3 (10*10*10 is 1000) min 1 of 10^2 min te nemen
een.

Dit kan ook voor hexadecimaal:

16^4 = 0x10000 = 65536
16^3 = 0x1000 = 4096
16^2 = 0x100 = 256
16^1 = 0x10 = 16

Als een getal kleiner is dan 65'536 past het in vier posities. Als het aantal groter is
dan 4'095, moet je positie 4 gebruiken. Hoe vaak kun je 4'096 aftrekken van de
nummer zonder onder nul te gaan is het eerste cijfer dat u opschrijft. Dit zal altijd een
nummer van 1 tot 15 (0x1 tot 0xF). Doe hetzelfde voor de andere posities.

Laten we het eens proberen met 41'029. Het is kleiner dan 16^4 maar groter dan 16^3-1. Dit betekent dat wij
moet vier posities gebruiken. We kunnen 16^3 tien keer aftrekken van 41'029 zonder te gaan
onder nul. Het meest linkse cijfer wordt dus "A", dus we hebben 0xA????. Het nummer is
gereduceerd tot 41'029 - 10*4'096 = 41'029-40'960 = 69. 69 is kleiner dan 16^3 maar niet groter
dan 16^2-1. Het tweede cijfer is dus "0" en we hebben nu 0xA0??. 69 is kleiner dan
16^2 en groter dan 16^1-1. We kunnen 16^1 (wat gewoon 16 is) vier keer aftrekken en
schrijf "4" op om 0xA04? te krijgen. Trek 64 af van 69 (69 - 4*16) en het laatste cijfer is 5 -->
0xA045.

De andere methode bouwt het getal van rechts op. Laten we 41'029 opnieuw proberen. Delen door
16 en gebruik geen breuken (alleen hele getallen).

41'029 / 16 is 2'564 met een rest van 5. Schrijf 5 op.
2'564 / 16 is 160 met een rest van 4. Schrijf de 4 voor de 5.
160/16 is 10 zonder rest. Voeg 45 toe aan 0.
10 / 16 is onder één. Eindig hier en voeg 0xA toe. Eindig met 0xA045.

Welke methode u gebruikt, is aan u. Gebruik wat voor jou werkt. Ik gebruik ze allebei zonder
in staat zijn om te vertellen welke methode ik in elk geval gebruik, het hangt gewoon af van het aantal, denk ik.
Feit is dat sommige nummers vaak zullen voorkomen tijdens het programmeren. Als het nummer dichtbij is
een die ik ken, dan zal ik de eerste methode gebruiken (zoals 32'770 die in 32'768 is
+ 2 en ik weet gewoon dat het 0x8000 + 0x2 = 0x8002 is).

Voor binair kan dezelfde aanpak worden gebruikt. De basis is 2 en niet 16, en het aantal
posities zullen snel groeien. Het gebruik van de tweede methode heeft als voordeel dat je kunt zien
heel gemakkelijk als je een nul of een één zou opschrijven: als je de rest deelt door twee
zal nul zijn als het een even getal is en één als het een oneven getal is:

41029 / 2 = 20514 rest 1
20514 / 2 = 10257 rest 0
10257 / 2 = 5128 rest 1
5128 / 2 = 2564 rest 0
2564 / 2 = 1282 rest 0
1282 / 2 = 641 rest 0
641 / 2 = 320 rest 1
320 / 2 = 160 rest 0
160 / 2 = 80 rest 0
80 / 2 = 40 rest 0
40 / 2 = 20 rest 0
20 / 2 = 10 rest 0
10 / 2 = 5 rest 0
5 / 2 = 2 rest 1
2 / 2 = 1 rest 0
1 / 2 onder 0 rest 1

Noteer de resultaten van rechts naar links: %1010000001000101

Groeperen per vier:

% 1010000001000101
%101000000100 0101
%10100000 0100 0101
%1010 0000 0100 0101

Converteren naar hexadecimaal: 0xA045

Groepeer %1010000001000101 met drie en converteer naar octaal:

% 1010000001000101
%1010000001000 101
%1010000001 000 101
%1010000 001 000 101
%1010 000 001 000 101
%1 010 000 001 000 101
%001 010 000 001 000 101
1 2 0 1 0 5 --> 0120105

Dus: %1010000001000101 = 0120105 = 0xA045 = 41029
Of: 1010000001000101(2) = 120105(8) = A045(16) = 41029(10)
Of: 1010000001000101(2) = 120105(8) = A045(16) = 41029

Eerst terwijl u getallen optelt, converteert u ze naar hun decimale vorm en vervolgens terug
in hun oorspronkelijke vorm na het doen van de toevoeging. Als u het andere nummeringssysteem gebruikt
vaak zul je zien dat je rekenen direct in het grondtal kunt doen
gebruikt. In elke weergave is het hetzelfde, voeg de nummers aan de rechterkant toe, noteer de
meest rechtse cijfer uit het resultaat, onthoud de andere cijfers en gebruik ze in de volgende
ronde. Ga verder met het tweede cijfer van rechts enzovoort:

%1010 + %0111 --> 10 + 7 --> 17 --> %00010001

zal worden

% 1010
%0111+
||||
|||+-- voeg 0 + 1 toe, resultaat is 1, niets om te onthouden
||+--- tel 1 + 1 op, resultaat is %10, schrijf 0 op en onthoud 1
|+---- voeg 0 + 1 + 1 toe (onthouden), resultaat = 0, onthoud 1
+----- tel 1 + 0 + 1 op (onthouden), resultaat = 0, onthoud 1
niets toe te voegen, 1 onthouden, resultaat = 1
--------
%10001 is het resultaat, ik schrijf het graag als %00010001

Probeer voor lage waarden de berekeningen zelf uit te voeren en controleer ze vervolgens met een rekenmachine.
Hoe meer je de berekeningen zelf doet, hoe meer je ontdekt dat je niet hebt gemaakt
fouten. Uiteindelijk doe je net zo gemakkelijk berekeningen in andere bases als in
decimale.

Als de getallen groter worden, moet je je realiseren dat een computer geen a is
computer gewoon om een ​​leuke naam te hebben. Er zijn veel verschillende rekenmachines beschikbaar, gebruik
hen. Voor Unix zou je "bc" kunnen gebruiken, wat een afkorting is voor Binary Calculator. Het berekent niet
alleen in decimalen, maar in alle bases die je ooit zult willen gebruiken (waaronder binair).

Voor mensen met Windows: Start de rekenmachine (start->programma's->accessoires->rekenmachine) en
klik eventueel op weergave->wetenschappelijk. Je hebt nu een wetenschappelijke rekenmachine en kunt rekenen
in binair of hexadecimaal.

Gebruik bin_dec_hex online met onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    Grondig schoon
    Grondig schoon
    Een Kotlin-script dat alle builds nukes maakt
    caches van Gradle/Android-projecten.
    Handig als Gradle of de IDE je dat toestaan
    omlaag. Het script is getest
    macOS, maar ...
    Deep clean downloaden
  • 2
    Eclipse Checkstyle-plug-in
    Eclipse Checkstyle-plug-in
    De Eclipse Checkstyle-plug-in
    integreert de Checkstyle Java-code
    auditor in de Eclipse IDE. De
    plug-in geeft real-time feedback aan
    de gebruiker over geweld...
    Eclipse Checkstyle plug-in downloaden
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player is een gratis mediaspeler
    software, deels gebaseerd op WMP en VLC. De
    speler is in een minimalistische stijl, met
    meer dan tien themakleuren, en kan ook
    b ...
    AstrOrzPlayer downloaden
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV is een ADDON voor XBMC/
    Het is mogelijk dat u een
    decodificator van de IPTV-services
    Movistar is geïntegreerd in één van de los
    mediacentra ma...
    Movistartv downloaden
  • 5
    Code :: Blocks
    Code :: Blocks
    Code::Blocks is een gratis, open-source,
    platformonafhankelijke C, C++ en Fortran IDE
    gebouwd om aan de meest veeleisende behoeften te voldoen
    van zijn gebruikers. Het is ontworpen om zeer te zijn
    strekt zich uit...
    Code::Blokken downloaden
  • 6
    Te midden van
    Te midden van
    Midden of geavanceerde Minecraft-interface
    en Data/Structure Tracking is een hulpmiddel om
    een overzicht van een Minecraft weergeven
    wereld, zonder deze daadwerkelijk te creëren. Het
    kan ...
    Midden downloaden
  • Meer "

Linux-commando's

Ad