Binaarinen laskin
Tehdään binaarinen lisäys, vähennys, kertominen ja jakaminen. Muunnetaan binaarinen ja desimaali. Ilmainen matemaattinen laskin. Saata välittömiä tuloksia nyt.
Binary Number System: Miten tietokoneet laskevat
Kaikki tietokoneet, älypuhelimet ja digitaaliset laitteet tallentavat ja käsittelevät sisäisesti kaikki tiedot binaarisesti, koska sähköpiirit voivat luotettavasti edustaa kahta erillistä tilaa: korkean jännite (1) ja matala jännite (0).
Jokainen sijainti binäärinumerossa edustaa 2:n potenssia, joka kasvaa oikealta vasemmalle:
| Sijainti | 2⁷ | 2⁶ | 2⁵ | 2⁴ | 2³ | 2² | 2¹ | 2⁰ |
|---|---|---|---|---|---|---|---|---|
| Arvo | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Muuntaminen binääristä desimaaliin:Monistetaan jokainen bit sen sijaintiarvolla ja summoidaan kaikki tulokset.
Esimerkki:Valmistus:= 1x128 + 0x64 + 1x32 + 1x16 + 0x8 + 1x4 + 0x2 + 1x1 = 128 + 32 + 16 + 4 + 1 =181 muut
Kymmenennestettä binääriin:Jaa toistuvasti kahdella ja kirjaa loput jokaisessa vaiheessa, ja lue sitten loput alhaalta ylöspäin.
Esimerkki: Muokkaa 181 binääriseksi:
- 181 ÷ 2 = 90 jäännös1
- 90 ÷ 2 = 45 jäännös0
- 45 ÷ 2 = 22 jäännös1
- 22 ÷ 2 = 11 jäännös0
- 11 ÷ 2 = 5 jäännös1
- 5 ÷ 2 = 2 jäännös1
- 2 ÷ 2 = 1 jäännös0
- 1 ÷ 2 = 0 jäännös1
Lue loput ylhäältä alas:Valmistus: ✓
Binääriarytmetiikka: Lisääminen, vähentäminen ja kertominen
Binääriarytmetiikka noudattaa samoja sääntöjä kuin desimaaliarytmetiikka, mutta siirrot tapahtuvat kahdella kymmenen sijasta.
Binary addition säännöt:0+0=0, 0+1=1, 1+0=1, 1+1=10 (kuljetus 1), 1+1+1=11 (kuljetus 1)
Esimerkki: 10112 + 11012 (11 + 13 = 24)
1011 + 1101 ------ 11000
Toiminta oikealta vasemmalle: 1+1=10 (kirjoittaa 0, kuljettaa 1); 1+0+1=10 (kirjoittaa 0, kuljettaa 1); 0+1+1=10 (kirjoittaa 0, kuljettaa 1); 1+1+1=11 (kirjoittaa 1, kuljettaa 1); lopullinen kuljetus kirjoittaa 1. Tulos: 110002 = 24
Kahden täydennys (binaarinen vähennys):Tietokoneet käsittelevät negatiivisia numeroita ja vähennyksiä kahden täydentäjän avulla.
Esimerkki: -13 8-bittisen kakkosen täydennyksessä: +13 = 000011012 -> käännä kaikki bitit -> 111100102 -> lisää 1 ->111100112 ja 111100112
Tämä mahdollistaa vähennyksen suorittamisen lisäyksenä: 20 - 13 = 20 + (-13).
Binaarinen kertominenon tyylikäs: jokainen osatuote on joko 0 (kertoimalla 0) tai luku itse (kertoimalla 1), siirtynyt vasemmalle. Esimerkki: 10112 x 1012 (11 x 5 = 55):
1011 x 101 ----- 1011 (1011 x 1) 0000 (1011 x 0, siirretty) 1011 (1011 x 1, siirretty kahdesti) ------- 1101112 = 55
Binary in Computing: Bits, Bytes, and Data Sizes (Binaarinen laskenta: bitit, byteet ja tietomäärät)
Binääriyksiköiden ymmärtäminen on välttämätöntä kaikille, jotka työskentelevät tietokoneiden, tallennustilojen tai verkkojen nopeuksien kanssa:
| Yksikkö | Kokoluokka | Suurin arvo (ei allekirjoitettu) | Yleinen käyttö |
|---|---|---|---|
| Vähän . | 1 kaksoisnumero | 1 | Boolean flag, yksittäinen binääriarvo |
| Purista vähän . | 4 bittiä | 15 (hex: F) | Yksi kuudenkymmenenneksiarvoinen numero |
| Bytti | 8 bittiä | Säännöt | Yksittäinen merkki (ASCII), värikanava |
| Sana . | 16 bittiä | 65535 henkilöä | Vanhat 16-bittiset järjestelmät, Unicode Basic |
| Kaksi sana (DWORD) | 32 bittiä | 4 294 967 295 | 32-bittiset kokonaisluvut, IPv4-osoitteet |
| Quad Word (QWORD) -tekniikka | 64 bittiä | 18 446 744 073 709 551 615 | Nykyaikaisia kokonaislukuja, osoittimia ja aikaleimoja |
Väriarvot:Verkkovärit käyttävät 24-bittistä RGB:tä (8 bittiä kanavaa kohden). #FF5733 = R:255, G:87, B:51. Jokainen 8-bittinen kanava voi edustaa 256 sävyä (0 - 255).16 777 216 henkeä(noin 16,7 miljoonaa).
Tiedoston käyttöoikeudet Unix/Linuxissa:rwxr-xr-- = 111 101 100 binary = 7, 5, 4 octal = chmod 754. Jokainen 3 bitin sarja edustaa luettavaa (r=4), kirjoitettavaa (w=2) ja suoritettavaa (x=1) käyttöoikeuksia omistajalle, ryhmälle ja muille.
Bititasoiset operaatiot ja niiden sovellukset
Bititasoiset operaatiot manipuloivat yksittäisiä bittejä kokonaislukujen sisällä. Ne ovat perustavanlaatuisia alemman tason ohjelmointiin, salaukseen, verkko-ohjelmointiin ja suorituskykyyn liittyvään koodiin.
| Toiminta | Symboli | Käyttäytyminen | Esimerkki |
|---|---|---|---|
| ja | & | 1 jos molemmat bitit ovat 1 | 1010 ja 1100 = 1000 |
| OR | | | 1 jos kummankin bitin arvo on 1 | 1010 -- 1100 on yhtä kuin 1110. |
| XOR-arvo | ^ | 1 jos bitit ovat erilaiset | 1010 ^ 1100 = 0110 |
| Ei ole | ~ | Käännä kaikki bitit . | ~1010 = 0101 |
| Vasemmalle siirtyminen | << | Siirtokappaleet vasemmalle (x2 kutakin siirrettä) | 1011 << 1 = 10110 (x2) |
| Siirry oikealle | >> | Siirretään bitit oikealle (÷2 kunkin siirron kohdalla) | 1011 >> 1 = 0101 (÷2) |
Käytännöllinen käyttö:
- Pienimuotoinen peittäminen:Tarkista , onko tietty bitti asetettu:
if (flags & 0b0100) { ... }-- tarkistaa, onko bit 2 yhtä kuin 1. - Asettelu:
flags = flags | 0b0100-- asettaa bitin 2 1 riippumatta nykyisestä arvosta. - Selvitän vähän:
flags = flags & ~0b0100-- tyhjentää bitin 2 - 0. - Nopeat kertoimet/jakautumiset 2:n potensseilla:
n << 3= n x 8;n >> 2= n ÷ 4. Bittien siirrot ovat CPU-tason operaatioita, jotka ovat huomattavasti nopeampia kuin kertominen. - Tarkistus parillinen/parittomaton:
if (n & 1) { /* odd */ }-- jokaisen parittoman numeron viimeinen bit on aina 1.
Numerointijärjestelmien vertailu: binääri, oktaali, desimaali, heksadesimaali
Tietotekniikassa käytetään neljää lukujärjestelmää, joista kukin sopii erilaisiin tilanteisiin:
| Järjestelmä | Perus | Numerot | Yleinen käyttö |
|---|---|---|---|
| Binääri (pohja-2) | 2 | 0 ja 1 | CPU:n toiminnot, tallennus, logiikka |
| Oktal (pohja-8) | 8 | 0 - 7 | Unix-tiedoston käyttöoikeudet, vanhemmat järjestelmät |
| Desimaali (pohja 10) | 10 | 0 - 9 | Ihmisen luettavat numerot |
| Hexadecimaali (pohja-16) | 16 | 0 - 9, A - F | Muistiosoitteet, värikoodit, koneen koodi |
Nopeasti muuntaminen: binääri <-> kuutoneninen(4 binaarinen numero = 1 kuudesnumeroinen numero):
| Binääri | Hex . Mitä nyt ? | Desimaali | Binääri | Hex . Mitä nyt ? | Desimaali |
|---|---|---|---|---|---|
| 0000 ja 0000 | 0 | 0 | 1000 euroa | 8 | 8 |
| 0001 | 1 | 1 | 1001 nimikkeen | 9 | 9 |
| Sähköinen | 2 | 2 | 1010 ja 1010 | A | 10 |
| 0011: n määrä | 3 | 3 | 1011 muuttujat | B | 11 |
| Sähköinen | 4 | 4 | 1100-vuotinen | C | 12 |
| Sähköinen | 5 | 5 | 1101 nimikkeen | D | 13 |
| 0110, 0110, 0110, ja | 6 | 6 | 1110 ja 1110 | E | 14 |
| 0111 Alkuperäinen | 7 | 7 | 1111 ja 1111 | F | 15 |
Tämä 4-bittinen ryhmittely tekee hexistä erittäin hyödyllisen binääritietojen kompakti merkinnän: 32-bittinen arvo11001010 00111111 10110101 00001100on paljon helpompi kirjoittaaCA3FB50C.
Binary in Networking: IP-osoitteet ja aliverkon naamiot
Binary-järjestelmän ymmärtäminen on tärkeää verkostotekniikassa, koska IPv4-osoitteet ovat pohjimmiltaan 32-bittisiä binäärisiä numeroita, ja subnetting - verkkojen jakamisprosessi - perustuu täysin binäärisiin operaatioihin.
IPv4-osoite kuten192.168.1.100 Allekirjoittanuton 32-bittisen binääriarvon ihmisen luettavissa oleva merkintä:
11000000.10101000.00000001.01100100
A aliverkon naamiomäärittää, mikä osoitteen osa tunnistaa verkon ja mikä isännän.
11111111.11111111.11111111.00000000
IP-osoitteen ja aliverkon naamion bititasoinen AND antaa verkon osoitteen:
| Osatekijä | Desimaali | Binääri |
|---|---|---|
| IP-osoite | 192.168.1.100 Allekirjoittanut | 11000000.10101000.00000001.01100100 Yhteisöjen tuomioistuin |
| Aliverkon naamio | 255,255,255,0 muut kuin 255,255,255,0 | 111111111111111111111111111111 |
| Verkko (JA) | 192.168.1.0 | 11000000.10101000.00000001.00000000 Yhteensä |
CIDR-merkintä (esim. /24) kertoo, kuinka monta johtavaa 1-bittiä on aliverkko-maskissa. /24-maskissa on 24 yksiä, joita seuraa 8 nollaa, mikä mahdollistaa 28 - 2 = 254 käyttökelpoista isäntäosoitetta aliverkkoa kohden. /16-maskissa on 65 534 isäntää. Verkko-insinöörit käyttävät binaarista mentaalista matematiikkaa päivittäin suunnitella aliverkkoja, laskea lähetysosoitteet ja ratkoa reititys.
Binary kryptografiassa ja turvallisuudessa
Nykyaikaiset salausalgoritmit toimivat kokonaan binääritasolla manipuloimalla yksittäisiä bittejä XOR-yhdistelmillä, bitin siirroilla ja korvausoperaatioilla.
XOR-salaus (nykyaikaisten salausten perusta):XOR:llä on ainutlaatuinen ominaisuus - sen soveltaminen kahdesti samalla avaimella palauttaa alkuperäisen arvon: A K K = A. Tämä tekee XOR:stä virtaussalausten ja kertaluonteisten pad-tiedostojen perustan.
Esimerkki: bytin 01001101 (kirjain "M" ASCII:ssä) salaaminen avaimella 10110010:
- Yksinkertainen teksti: 01001101
- Avain: 10110010
- XOR (salaus): 11111111
- XOR uudelleen samalla avaimella (salauksen purkaminen): 01001101 = "M"
Nykyaikaisen salauksen avaimen koko:AES-128 käyttää 128-bittistä avainta, mikä tarkoittaa sitä, että mahdollisia avaimia on 2128 ~ 3.4 x 1038 - enemmän kuin havaittavissa olevan maailmankaikkeuden atomien lukumäärä. AES-256 käyttää 256-bittisiä avaimia, joissa on 2256 mahdollisuutta. Jopa nopeimmat supertietokoneet eivät voi väkivaltaisesti pakottaa näitä avainpaikkoja. Jokainen ylimääräinen bit kaksinkertaistaa hakutilaa, minkä vuoksi avaimen pituus merkitsee eksponentiaalisesti kryptografiassa.
Hash-funktiot kuten SHA-256 tuottavat 256-bittisen (32-baitin) binaarisen ulostulon mistä tahansa syöttökohdasta. Jopa yksi bitin muutos syöttökohdassa tuottaa täysin erilaisen hashin - ominaisuuden nimeltään "laskuvaikutus", joka tekee hashistä hyödyllisiä tietojen eheyden tarkistamiseen, salasanojen tallentamiseen ja lohkoketjuteknologian käyttöön.
Binääri- ja kvanttilaskenta:Klassiset tietokoneet käyttävät binääri-bittejä (0 tai 1), mutta kvanttitietokoneet käyttävät kubittejä, jotka voivat olla molempien tilojen superposioinnissa samanaikaisesti. Klassisella 256-bittisellä avaimella on 2256 mahdollista arvoa, jotka on tarkistettava peräkkäin; Groverin algoritmia käyttävä kvanttitietokone voisi etsiä tätä tilaa √(2256) = 2128 operaatiossa.
Usein kysyttyjä kysymyksiä
Miksi tietokoneet käyttävät binääriä desimaalin sijasta?
Elektroniset virtapiirit ovat luotettavimmat vain kahdella erillisellä tilalla: päällä (korkea jännitys ~ 1) ja pois päältä (matala jännitys ~ 0).
Mikä on suurin luku, jota byytti voi sisältää?
Bytti (8 bittiä) voi edustaa 28 = 256 eri arvoa. Allekirjoittamattomien kokonaislukujen osalta: 0-255 Allekirjoitettujen kokonaislukujen osalta: -128-127. Allekirjoittamattoman bytin enimmäisarvo binäärissä on 111111112 = 255; hexissä se on FF.
Miten muutan negatiivisen numeron binääriin?
Käytä kakkosen täydennystä: (1) Muokkaa positiivinen versio binääriseksi, (2) Käännä kaikki bitit (0->1, 1->0), (3) Lisää 1. Esimerkki: -13 8-bittisessä: +13 = 000011012, käännä bitit = 111100102, lisää 1 = 111100112. Näin kaikki modernit tietokoneet tallentavat negatiivisia kokonaislukuja.
Mikä on binääri- ja heksadesimaalin ero?
Molemmat ovat laskennassa käytettyjä positionaalisia numerojärjestelmiä. Binary (base-2) käyttää vain 0 ja 1 - tietokoneiden alkuperäistä kieltä. Hexadecimal (base-16) käyttää 0 - 9 ja A - F: tä binäärisen merkinnän kompaktina - jokainen 4 binääristä numeroa vastaa täsmälleen 1 hex-numeroa. Hex-numeroa käytetään muistiosoitteissa, värikoodeissa (#RRGGBB) ja koneen koodeissa, koska se on kompaktisempi ja luettavampi kuin raaka binäärinen.
Mihin bititasoisia operaatioita käytetään?
Bititasoiset operaatiot (AND, OR, XOR, NOT, shifts) manipuloivat yksittäisiä bittejä kokonaislukujen sisällä.
Mikä on binaarinen kelluva piste ja miksi 0,1 + 0,2 ≠ 0,3 ohjelmoinnissa?
Useimmat nykyaikaiset tietokoneet käyttävät IEEE 754 - binäärivirran liukuvaa merkkiä, joka edustaa desimaalilukuja binäärivirrassa. Aivan kuten 1/3 = 0,3333... ei voi olla edustettu tarkasti desimaalivirrassa, 1/10 ei voi olla edustettu tarkasti binäärivirrassa (se on äärettömästi toistuva binäärivirras). Tämä aiheuttaa pieniä pyöristysvirheitä: useimmissa kielillä, 0,1 + 0,2 = 0,30000000000000004. Käytä kokonaislukuarviointia (toiminta sentteissä, ei dollareissa) tai desimaalikirjastoja tarkkoihin taloudellisiin laskelmiin.
Miten binaryä käytetään tietojen tallennuksessa ja tiedostokokoissa?
Säilytysalaa mitataan byteinä (8 bittiä), kilobyteinä (1,024 bytejä), megabyteinä (1,024 KB), gigabyteinä (1,024 MB), jne. Huomautus: kiintolevyjen valmistajat käyttävät SI-prefixejä (1 KB = 1,000 bytejä), kun taas käyttöjärjestelmät käyttävät binaarisia prefixejä (1 KiB = 1,024 bytejä), mikä aiheuttaa ilmeisen "puuttuvan tilan" eroavuuden, kun ostat tallennustilaa. 1 TB: n levy näyttää ~ 931 GiB Windowsissa, koska 1,000,000,000,000 ÷ 1,073,741,824 ~ 931.
Mikä on binary-coded decimal (BCD)?
BCD koodaa jokaisen desimaalin 4 bitin binääriryhmänä: 0=0000, 1=0001, ..., 9=1001. BCD:n desimaali 93 on 1001 0011. BCD:tä käytetään rahoitusjärjestelmissä (epäilyttää kelluva-piste pyöristysvirheitä), digitaalisissa kelloissa ja näyttöissä (7-segmenttinen näyttö dekoodaa BCD:tä suoraan) ja vanhoissa keskusjärjestelmissä. Se on vähemmän tilaa käyttävä kuin puhdas binääri, mutta poistaa desimaali-binääri-muutosvirheet kriittisissä sovelluksissa.