Ile bitów

0

Witam potrzebuje określić ile bitów ma ciąg_znaków. Jak to policzyć ?

ciag_znakow db 'gg testowy stringgg ',0xa Jak się to liczy po kolei ?

0

8* ilość bajtów w tym ciągu

0

A jak "zapakować" w 1 bit np. kilka znaków ?

0

Nie można tego zrobić. Bit to najmniejsza jednostka informacji. Może zawierać tylko jeden z dwóch stanów. To za mało nawet na jeden znak w standardowych kodowaniach - no chyba, że twój alfabet ma dwa znaki. Dlatego używa się przynajmniej ośmiu bitów. Czasem siedmiu.

0
ciag_znakow	db 'gg testowy stringgg ',0xa
ile_bitow	dd ($-ciag_znakow)*8

żeby działało, linijki muszą być jedna po drugiej.

5
sokgob napisał(a):

A jak "zapakować" w 1 bit np. kilka znaków ?

Aż mi słabo jak widze takie pytania.
http://pl.wikipedia.org/wiki/Teoria_informacji

1
sokgob napisał(a):

A jak "zapakować" w 1 bit np. kilka znaków ?

Skompresować, tylko wtedy oczywiście pojedynczy bit będzie bez znaczenia.

9
sokgob napisał(a):

A jak "zapakować" w 1 bit np. kilka znaków ?

Myśle, że @maszynaz wiedziałby jak to zrobić :]

1
sokgob napisał(a):

A jak "zapakować" w 1 bit np. kilka znaków ?

Poprosić, może same się zapakują :P

0

Jak zapakować kilka znaków do jednego bita? To proste. Działamy wg następującego schematu:

  1. Jeśli ciąg wejściowy to "Ala ma kota." to wypluwamy pojedynczy bit 0.
  2. Jeśli ciąg wejściowy jest inny to wypluwamy pojedynczy bit 1, a potem kopiujemy ciąg wejściowy na wyjście.
  3. Voila!
    Oczywiście, nie da się stworzyć algorytmu, który kompresuje jakiś ciąg wejściowy, bez rozszerzania innych (chociażby o jeden bit). Szczegóły tutaj: http://mattmahoney.net/dc/dce.html#Section_11
1

No chyba że chodzi o qbita (bit kwantowy), tam być może by się dało bo jest więcej możliwości niż 0 i 1.

1 użytkowników online, w tym zalogowanych: 0, gości: 1