Binair omzetten

Binair 1010 is decimaal 10. Decimaal 255 wordt binair geschreven als 11111111.

Tekst en binair

Heb je hier iets aan gehad?
Voorkeursbron in Google

Zo werkt het

  1. Typ een getal in een van de vier vakken: binair, octaal, decimaal of hex. De andere drie worden meteen bijgewerkt. Een minteken, spaties, underscores en voorvoegsels als 0b, 0o en 0x worden geaccepteerd.
  2. Vink Bits in groepen van vier aan om lange binaire getallen leesbaarder te maken.
  3. Om tekst om te zetten, typ je die in het vak Tekst en verschijnt het binaire resultaat in groepen van 8 bits. Of plak binair in het vak Binair en de tekst verschijnt. Spaties tussen groepen zijn optioneel.

Berekening

Elk vak wordt cijfer voor cijfer gelezen in zijn eigen grondtal en opgeslagen als BigInt, zodat zeer grote waarden exact worden omgezet zonder afronding. De andere vakken worden daarna uit die ene waarde geschreven.

Een negatief getal behoudt zijn minteken (-1010 is -10), het wordt niet als twee-complement getoond. Voor het twee-complement van een vaste breedte neem je de positieve vorm en keer je die zelf om.

Tekst wordt eerst als UTF-8 gecodeerd, waarna elke byte als 8 bits wordt geschreven. Gewone Engelse letters nemen één byte, letters met accent en de meeste symbolen twee of drie, en emoji vier. Een binaire reeks wordt alleen teruggezet als de lengte een veelvoud van 8 is en de bytes geldige UTF-8 vormen.

Veelvoorkomende waarden

DecimaalBinairOctaalHex
10101012A
42101010522A
100110010014464
25511111111377FF
256100000000400100
1024100000000002000400

Veelgestelde vragen

Hoe zet ik binair met de hand om naar decimaal?

Schrijf de plaatswaarden 1, 2, 4, 8, 16 enzovoort van rechts op en tel de waarden op waar het cijfer 1 is. Voor 1101 is dat 8 + 4 + 1 = 13.

Waarom wordt een letter 8 binaire cijfers?

Computers slaan tekst op als bytes en een byte is 8 bits. De letter A is byte 65, dat is 01000001. Tekens buiten het basis-Engels gebruiken in UTF-8 meer dan één byte.

Waarom krijg ik een foutmelding als ik binair plak?

Voor de tekstrichting zijn alleen 0 en 1 nodig (spaties en underscores worden genegeerd), een totale lengte die een veelvoud van 8 is, en bytes die geldige UTF-8 vormen. Een verdwaald cijfer of een ontbrekende bit breekt een daarvan.

Is er een groottelimiet?

Voor getalomzetting is er geen vaste limiet omdat BigInt wordt gebruikt, al wordt typen in zeer lange invoer trager. Wat je invoert wordt niet naar een server gestuurd.