Uważam to za świetną zabawę do myślenia. Binarne to nie 1 i 0 w sposobie, w jaki o tym mówisz.
Wyobraź sobie, że istnieje pewna ilość, którą mogę powiedzieć na wiele różnych sposobów:
Nine
po angielsku
Neuf
po francusku
9
cyframi arabskimi
IX
cyframi rzymskimi
1001
w formacie binarnym z cyframi arabskimi
on off off on
w trybie binarnym z włącz / wyłącz
high low low high
w formacie binarnym reprezentowanym przez napięcia lub dźwignie, poziomy wody lub ładunek elektryczny ... lub angielskie słowa „wysoki” i „niski”
Wszystkie reprezentują to samo. Chodzi o to, że wartość binarna to nie 1 i 0, to tylko jeden sposób reprezentacji wartości.
Kiedy mówisz o konwersji H na binarną, prawdopodobnie wyobrażasz sobie, że widzisz 10101010 na ekranie - ale to nie jest „binarne”, to jedna cyfra na każdy bit binarny.
Tak, jeśli przekonwertowałeś H
na „binarny”, gdy ludzie zwykle o nim mówią, a następnie przedstawił to cyframi arabskimi, a następnie zapisał go, zajęłoby to więcej miejsca w taki sam sposób, jak konwersja H
naaitch
więcej miejsca.
Ale widzisz, że binarny jest jednym ze sposobów reprezentowania wielkości, dobrze przez logikę mówiącą: „jeśli przekonwertowałem H na binarny i przedstawię go tak high low high low high low high low
, że zajmie to 35 znaków! To nawet więcej niż10101010
! Ale te dwa są„ binarne ” .. więc jak jedno jest większe od drugiego?
Druga strona to się zastanawiać, w jaki sposób H
przechowywane są przez komputer, a widząc, że H
jest się tylko sposobem reprezentowania ilość - ta sama ilość 72
, 01001000
lub seventy two
czy kod ASCII H
. Co jest odpowiedzią 8bittree, że zwykły tekst jest binarny, ale to ja próbuję pokazać, co to znaczy .
Masz więc trochę wzorca w komputerze 01001000
i co to oznacza? Wszystko - o czym można mówić jako liczbę, jako część pliku zip, jako postać, zależy od intencji osoby, która go utworzyła. Jeśli wiesz, że powinien to być zwykły tekst, to pochodzi on z kodowania znaków H
-> 01001000
i patrzysz w drugą stronę w tabeli kodowania znaków - ASCII, UTF-8, shift-jis itp. I znajdź odpowiednią czcionkę charakter i wychodziH
. Lub wychodzi niewłaściwy znak, jeśli użyjesz innego wyszukiwania kodowania niż osoba, która go utworzyła. To jest link @Eric Lippert.
Ale kiedy to piszę i jak o tym myślisz, H
jest to jeden bajt i 01001000
ma 8 bajtów, tak, to więcej miejsca. I tak, to (reprezentacja) pliku binarnego. Ale jest na wyższym poziomie abstrakcji niż komputer - plik binarny wyświetlany w postaci znaków ASCII, gdzie każda postać jest reprezentowana za kulisami za pomocą binarnego wzorca bitowego, każdy tak duży jak H
sam.