Onko logiikkaa sille, miksi binaarisessa aakkosessa a = 01000001 ja sama muiden kirjainten kanssa, vai valitsiko joku vain satunnaisesti kyseisen numerosarjan edustamaan?


Paras vastaus

Kyllä, on.

8-bittisen alueen alaosa on varattu ohjauskoodeille. Erityisesti 00000000 ei voida määrittää tekstimerkille, koska haluat tyhjän boolikortin tarkoittaa , no … ei mitään. Lisäksi on mukavaa pystyä selvittämään virhe lyömällä koko rivi, joten 11111111 osoitetaan POISTA-ohjauskoodille, ja yhdistettynä siihen, että tekstimerkkien on mahtuttava 7 bittiin taaksepäin yhteensopivuuden takaamiseksi, se tarkoittaa alueen yläpää varataan myös ohjauskoodeille.

Aakkosmerkkien on siis mentävä jonnekin keskelle. Olisi kätevää, jos voisit muuntaa isojen ja pienten kirjainten välillä kääntämällä yhtä bittiä, mikä tarkoittaa, että isot ja pienet kirjaimet on erotettava 32: n pituudella (kahden pienin teho, suurempi kuin 26). On myös kätevää, jos kotelon kirjaimet ovat vierekkäisiä ja välimerkit on ryhmitelty loppuun, kuuteen koodipisteeseen, jotka olet jättänyt kullekin 32 merkin alueelle, ja jos aakkosmerkkien koodipisteiden sarja vastaa niiden perinteistä aakkosjärjestystä. Olisi vielä kätevämpää, jos pystyt muuntamaan aakkosmerkin sen numeeriseen aakkosjärjestykseen yksinkertaisella bittimaskilla.

Kaikki tämä rajoittaa vakavasti mahdollisuuksia aakkosmerkkien aloittamiseen. Rajoitettujen mahdollisuuksien joukosta A: ksi valittiin 65 tai 0100001 ja historiallisista syistä 97 tai 01100001 ”a”: lle (pikemminkin kuin toisinpäin) historiallisten syiden takia. yhteensopivuus vanhojen vain 5-bittisten vain caps caps -tekstijärjestelmien kanssa, joissa A: lle on tosiasiallisesti annettu koodipiste 1 (00001), mikä mahdollistaa koodausten muuntamisen yksinkertaisesti lisäämällä tai katkaisemalla etuliitteen.

Vastaus

Mikä ”binaarinen aakkoset”? Tarkoitatko ASCII: ta? Koska jos teet niin, ”a” ei ole yhtä suuri kuin 0100 0001. Isot kirjaimet ”A” vastaavat 0100 0001. ”a”: n ASCII-merkki on 0110 0001. Kun taas haluat kirjoittaa “a” EBCDIC: ään, esimerkki, silloin se olisi 1000 0001 ja A olisi 1100 0001.

ASCII-taulukon 32 ensimmäistä merkkiä ovat ei-tulostavia, ohjausmerkkejä, joita käytettiin alun perin laitteiston ohjaamiseen – esimerkiksi 0000 0111 kutsutaan BEL: ksi, koska se käytti kelloa vanhoissa sähkömekaanisissa teletyyppikoneissa, joille ASCII alun perin keksittiin. Tulostetut merkit alkoivat vain ASCII-desimaalilla 33, välimerkit ensin (!), Sitten numerot, sitten isot kirjaimet, sitten pienet kirjaimet, päättyen DEL-näppäimeen ASCII 127: ssä, siinä käytetyn 7 bitin yläosassa. aika.

Joten ei, joku ei “valinnut satunnaisesti numerosarjaa”, se oli standardi, jonka American Standards Association (nykyinen ANSI) on laatinut vuonna 1960 ja joka perustuu olemassa oleviin lennätinkoodeihin. Kyseistä standardia on edelleen päivitetty ja laajennettu, mutta ensimmäisiä 128 merkkiä ja hallintalaitteita ei ole koskaan muutettu.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *