• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Z czego wynika to, że bajt ma 8 bitów?

Object Storage Arubacloud
0 głosów
7,182 wizyt
pytanie zadane 13 marca 2018 w Offtop przez Hiskiel Pasjonat (22,830 p.)
Witam! Dzisiaj naszła mnie taka myśl "dlaczego bajt ma 8 bitów? Czemu nie np 2? O co chodzi?" i oddaje je Wam.Wie ktoś coś na ten temat?
komentarz 21 października 2018 przez raddovsky Nowicjusz (140 p.)

Dobra, a może ktoś mi powiedzieć z czego wynikają kolejne 'wagi' bitów? Dlaczego jest tak:

binarny:         0    1    0    1
-------------------------------------
dwójkowy:        8  + 4 +  2  + 1 

Tzn. dlaczego pierwszy (od prawej) znak (jedynka) ma wagę 1, potem następny miałby 2 itd.?

 

3 odpowiedzi

+1 głos
odpowiedź 14 marca 2018 przez Beginer Pasjonat (22,110 p.)
wybrane 14 marca 2018 przez Hiskiel
 
Najlepsza
Każdą liczbę w systemie dziesiętnym, w kodzie dwójkowym (cyfrowym) można przedstawić w następujący sposób:

2^3 + 2^2 + 2^1 + 2^0, gdzie potęgi oznaczają wartości kolejnych bitów. I tak na przykład zapis w kodzie binarnym:

1 1 1 1, oznacza liczbę: 15  (bo 8 + 4 + 2 + 1 = 15).

Ponieważ w kodzie ASCII jest aż 256 znaków, trzeba więc użyć 8 bitów 2^8. Dlatego bajt ma osiem bitów.
1
komentarz 14 marca 2018 przez monika90 Pasjonat (22,940 p.)
Ale ASCII ma 128 znaków (i kodów kontrolnych, bo nie tylko znaki tam są).
komentarz 14 marca 2018 przez Beginer Pasjonat (22,110 p.)

ASCII ma 256 znaków, możesz je sobie wyświetlić:

#include <iostream>

using namespace std;

int main()
{
    int znak;  // ASC II
    for (int i = 1; i < 257; i += 1)
    {
     znak = i;
     cout << " " << i << "    " << (char) znak << endl;
    }
 }

 

komentarz 14 marca 2018 przez KubenQPL Maniak (62,820 p.)
Czy ascii nie jest indeksowane od 0?
komentarz 14 marca 2018 przez Beginer Pasjonat (22,110 p.)
Prawdopodobnie od zera (nie sprawdzałem). To jest kwestia konwencji - tak jak z indeksowaniem tablic.  (Ważne żeby sztuki się zgadzały).
komentarz 14 marca 2018 przez KubenQPL Maniak (62,820 p.)
No nie koniecznie, bo 8 bitów mieści zakres od 0 do 255 więc znak 256 to najprawdopodobniej bedzie spowrotem 0.
komentarz 14 marca 2018 przez Beginer Pasjonat (22,110 p.)
Zgadzam się. Dlatego powinno się indeksować od zera.

P.S. Jeśli ktoś nie jest przyzwyczajony, indeksowanie od zera może wprowadzać mały mętlik. Dlatego w niektórych językach można było wybierać (ustawiać) konwencję indeksowania: od 0,  lub od 1.
+1 głos
odpowiedź 14 marca 2018 przez k222 Nałogowiec (30,150 p.)
2
komentarz 14 marca 2018 przez Hiskiel Pasjonat (22,830 p.)
Kurde.. Ja nie rozumiem ludzi tutaj.. Gdybym chciał, sobie o tym poczytać, to bym buszował sobie w googl'u. Ale ja chce, żeby ktoś to wytłumaczyć swoimi słowami, bo każdy inaczej powie, od jednego się zrozumie od innego nie, jeden wysunięty trafniejszą teorię, drugi nie.
4
komentarz 14 marca 2018 przez Kodeman Gaduła (4,480 p.)
To nie jest kwestia trafności teorii, tylko fakt. Niezależnie na jakiej stronie przeczytasz, jakie słowa zostaną użyte, bajt ma 8 bitów, żeby pomieścić wszystkie znaki ASCII. ASCII potrzebowało 7 bitów, ale komputery bardzo lubią używać potęgi dwójki, więc zostało 8.
komentarz 14 marca 2018 przez k222 Nałogowiec (30,150 p.)

@Swipeyro, ja też nie rozumiem ludzi tutaj, wolą czekać na odpowiedź (może dobrą, może nie) kilka godzin zamiast znaleźć zadane dokładnie to samo pytanie z kilkunastoma odpowiedziami na kilkunastu innych stronach

+1 głos
odpowiedź 14 marca 2018 przez PHPLover Początkujący (400 p.)

Bajt początkowo oznaczał dane 4-bitowe, co pozwalało na zapis 16 różnych liczb, lecz na etapie produkcji został zredukowany do 3 bitów (8 różnych liczb) – główne operacje komputerowe wykorzystywały bajt 3-bitowy. Bajt 8-bitowy został upowszechniony jako standard wraz z pojawieniem się komputera System/360.

Podobne pytania

0 głosów
2 odpowiedzi 732 wizyt
pytanie zadane 19 kwietnia 2020 w Systemy operacyjne, programy przez tonn204 Mądrala (7,440 p.)
0 głosów
1 odpowiedź 380 wizyt
0 głosów
1 odpowiedź 724 wizyt
pytanie zadane 11 grudnia 2020 w C i C++ przez ResCrove Obywatel (1,700 p.)

92,566 zapytań

141,420 odpowiedzi

319,614 komentarzy

61,952 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...