Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 25

 
IgorM:

Ich möchte Daten kompakt speichern - eine Zeile, eine ganze Zahl

Es wird nicht funktionieren. Es werden 3 Bits benötigt, um 6 Werte zu kodieren. Die Ganzzahl hat 32 Bits, man braucht 36 Bits, um 12 Zahlen zu kodieren.

Die Frage ist, warum Sie eine kompakte Lagerung brauchen. Höchstwahrscheinlich ist das Endziel ein anderes und auf andere Weise zu erreichen.

 
TheXpert:

Es wird nicht funktionieren. Es werden 3 Bits benötigt, um 6 Werte zu kodieren. Die Ganzzahl hat 32 Bits, man braucht 36, um 12 Zahlen zu kodieren.

Ja, es ist wahrscheinlich einfacher, so zu verfahren, wie granit77 es empfohlen hat.
 

Nun... als Option.

granit77:
Verschieben Sie in den positiven Bereich um 2 Einheiten, um 0 und -1 zu entfernen (gefolgt von der Wiederherstellung nach dem Lesen) und Sie können leicht eine ganze Zahl bilden.
Es ist möglich, ihre Indizes anstelle der Zahlen selbst zu schreiben, dann können beliebige Zahlen erzeugt werden. Die Hauptsache ist, dass man nicht mehr als 10... Bei näherer Betrachtung jedoch nicht mehr als 36.
 

Alternativ können Sie auch Datenwiederholungen verwenden (wie bei der Bildkomprimierung). Oder Sie können verschiedene Werte in denselben Speicherplatz schreiben. Sie können Indizes einsparen, indem Sie allen möglichen Dingen einen Namen geben. Sie könnten sogar einen solchen Dienst einrichten - er wäre sehr gefragt :)

 
IgorM:


| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|

Ich möchte Daten kompakt speichern - eine Zeile, eine ganze Zahl


Wechsel zur Pentameter-Notation, bei der ich eine Zahlenfolge in eine Zahl umwandeln kann. Für Binärdateien hatte ich Funktionen, die ich verwenden konnte

 
Vinin:


Wechseln Sie zu einem pentatonischen Zahlensystem, bei dem Sie eine Zahlenfolge in eine Zahl umwandeln können. Für Binärdateien hatte ich vorgefertigte Funktionen

Ich habe bereits darüber nachgedacht, dass es kein fertiges mathematisches Gerät gibt, das mehrere 5-stellige Zahlen in einem int?
 
IgorM:
Ich habe bereits darüber nachgedacht, dass es keine fertige Matrix gibt, um mehrere 5-stellige Zahlen in einem int?

Es dauert nicht lange, einen zu machen. Sowohl für die Kodierung als auch für die Dekodierung
 

Für die Kodierung kann die folgende Formel verwendet werden

{a1,a2,a3,a4,a5}

N=a1*5^4+a2*5^3+a3*5^2+a4*5^1+a5*5^0;

Die Entschlüsselung ist etwas komplizierter. Wenn wir aber zu einer Schleife übergehen, gibt es kein Problem mit beiden

a5=N%5;

N=(N-a5)/5;

a4=N%5;

N=(N-a4)/5;

a3=N%5;

N=(N-a3)/5;

a2=N%5;

a1=(N-a2)/5;

 

Ich kann nicht einmal eine Suchanfrage für eine Suchmaschine formulieren :(((

Ich möchte eine Art Vergleich der Ähnlichkeit? Korrelation? mehrerer Matrizen mit numerischen Daten durchführen.

wie diese:

matrix1: matrix2:

| 4,4,1,2,1,1, 1,1,1,1,1,1 | | 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,1,2,1,1, 1,1,1,1,1,1 | | 4,4,1,1,1,1, 1,1,1,1,1,1 |
| 4,4,4,2,1,1, 1,1,1,1,1,1 | | 4,4,4,2,1,1, 1,2,1,1,1,1 |

die gegebenen Matrizen minimale Unterschiede aufweisen, wie kann dies programmatisch analysiert werden?

 
IgorM:

Ich kann nicht einmal eine Suchanfrage für eine Suchmaschine formulieren :(((

Ich möchte eine Art Vergleich der Ähnlichkeit? Korrelation? mehrerer Matrizen mit numerischen Daten durchführen.

wie diese:

matrix1: matrix2:

| 4,4,1,2,1,1, 1,1,1,1,1,1 | | 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 4,4,1,2,1,1, 1,1,1,1,1,1 | | 4,4,1,1,1,1, 1,1,1,1,1,1 |
| 4,4,4,2,1,1, 1,1,1,1,1,1 | | 4,4,4,2,1,1, 1,2,1,1,1,1 |

die gegebenen Matrizen minimale Unterschiede aufweisen, wie kann dies programmatisch analysiert werden?


wenn wenn und wenn wieder. Ich würde mit a1a1 beginnen.