Qualsiasi domanda da un PROFI a un SUPER PROFI - 1. - pagina 25

 
IgorM:

Voglio memorizzare i dati in modo compatto - una linea, un intero

Non funzionerà. Ci vogliono 3 bit per codificare 6 valori. L'intero ha 32 bit, servono 36 bit per codificare 12 numeri.

La domanda è perché avete bisogno di un magazzino compatto. Molto probabilmente l'obiettivo finale è diverso e raggiungibile in modo diverso.

 
TheXpert:

Non funzionerà. Ci vogliono 3 bit per codificare 6 valori. L'intero ha 32 bit, ne servono 36 per codificare 12 numeri.

Sì, probabilmente è più facile fare come ha consigliato granit77
 

Beh... come opzione.

granit77:
Spostare nella regione positiva di 2 unità per rimuovere lo 0 e il -1 (seguito dal ripristino dopo la lettura) e si può facilmente formare un intero.
È possibile scrivere i loro indici al posto dei numeri stessi, quindi qualsiasi numero può essere generato. La cosa principale è non superare i 10... Anche se a un esame più attento non più di 36 almeno.
 

In alternativa, si può usare la ripetizione dei dati (come nella compressione delle immagini). Oppure, potete scrivere valori diversi nello stesso spazio di memoria. Si può risparmiare sugli indici dando un solo nome a tutti i tipi di cose. Potresti anche creare un tale servizio - sarebbe molto richiesto :)

 
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|

Voglio memorizzare i dati in modo compatto - una linea, un intero


Passare alla notazione pentametrica dove posso convertire una stringa di numeri in uno. Per il binario, avevo funzioni pronte all'uso

 
Vinin:


Passa a un sistema di numeri pentatonici dove puoi convertire una stringa di numeri in uno solo. Per il binario, avevo funzioni già pronte

Ci ho già pensato, non c'è un apparato matematico pronto per memorizzare diversi numeri a 5 cifre in un int?
 
IgorM:
Ho già pensato a questo, non c'è una matrice pronta per memorizzare diversi numeri a 5 cifre in un int?

Non ci vuole molto per farne uno. Sia per la codifica che per la decodifica
 

La seguente formula può essere usata per la codifica

{a1,a2,a3,a4,a5}

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

La decodifica è un po' più complicata. Ma se andiamo in un ciclo, non ci sono problemi con entrambi

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;

 

Non riesco nemmeno a formulare una query per un motore di ricerca :((((

Voglio fare una specie di confronto di somiglianza? correlazione? diverse matrici con dati numerici.

come questo:

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 |

le matrici date hanno differenze minime, come si può analizzare programmaticamente?

 
IgorM:

Non riesco nemmeno a formulare una query per un motore di ricerca :((((

Voglio fare una specie di confronto di somiglianza? correlazione? diverse matrici con dati numerici.

come questo:

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 |

le matrici date hanno differenze minime, come si può analizzare programmaticamente?


se se e se ancora. Io comincerei con a1a1