2017-01-23 4 views
-4

Gibt es eine generische Möglichkeit zur Darstellung einer Zahl mit n Bits unter Verwendung von n-1 Bits; z.B. zeigt 1001, die 4 Bits unter Verwendung XXX where X = {0|1} mit 3 Bits hat. Außerdem sollte das Mapping in der Lage sein, die ursprüngliche Binärdatei ohne jede Kollision wiederherzustellen.Reduzierung der Anzahl der Bits um 1

Diese page ist die relevanteste Referenz, die ich bis jetzt gefunden habe, die versucht, die Anzahl der Bits zu zählen, aber nicht die Anzahl der Bits zu reduzieren.

Edit: Ich wusste, das klingt unmöglich, aber ich bin gespannt, ob es einen Workaround dafür gibt!

+3

So aufzubauen verwalten komprimieren ein n Bit Daten in 'n-1'? Cool. Dann komprimiere 'n-1' in 'n-2' und runter auf Null. Perfekte Kompression. Sie werden sicher einen Nobelpreis bekommen. –

+1

Wie können Sie das möglicherweise tun? – OldProgrammer

+0

4 Bits codieren 16 mögliche Werte. 3 Bits codieren 8 mögliche Werte. Also die Antwort ist NEIN. – user3386109

Antwort

3

Es gibt 2^n mögliche Werte mit n Bits und 2^(n-1) mit (n-1) Bits. Sie können also nicht verlustfrei von ersterem zu letzterem konvertieren.

Wenn es überhaupt möglich wäre, könnten Sie auch vertreten rekursiv Ihr n-1 Bits n-2 Bits verwendet, etc. Alles darstellbare mit 0 Bits würde :)

Sie von der Seite, die Sie verknüpfen misleaded erhalten , das erklärt, dass x &= x-1 eine 1 in einer Bitfolge entfernt.

10100 
& 10011 
= 10000 
+0

Ich sehe deinen Standpunkt hier! Ich wusste dieses Ding von Anfang an, während ich die Frage posten. Ich dachte daran, diesem Ansatz zu folgen, um zu sehen, ob wir die Anzahl der Bits reduzieren können! Wie auch immer, danke für die Klarstellung. – hmofrad

1

Sie werden sehr klug, wenn Sie möchten, eine Eins-zu-Eins-Abbildung zwischen den 16 Nummern

0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111 

und die acht Zahlen

000,001,010,011,100,101,110,111. 
+1

Ich denke du kannst dein Beispiel auf 'n = 2' reduzieren um es noch klarer zu machen :) Oder zu' n = 1' ... –

Verwandte Themen