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ś Hna „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 Hnaaitch 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 Hprzechowywane są przez komputer, a widząc, że Hjest się tylko sposobem reprezentowania ilość - ta sama ilość 72, 01001000lub seventy twoczy 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 01001000i 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-> 01001000i 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, Hjest to jeden bajt i 01001000ma 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 Hsam.