granit77: Desloque-se para a região positiva por 2 unidades para remover 0 e -1 (seguido de restauração após a leitura) e você pode facilmente formar um número inteiro.
É possível escrever seus índices em vez dos próprios números, então quaisquer números podem ser gerados. O principal é não exceder 10... Embora em exame mais atento, não mais do que 36, pelo menos.
Alternativamente, pode-se usar a repetição de dados (como na compressão de imagens). Ou, você pode escrever valores diferentes para o mesmo espaço de memória. Você pode economizar nos índices dando um nome a todos os tipos de coisas. Você pode até mesmo criar tal serviço - ele seria solicitado :)
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
Eu quero armazenar dados de forma compacta - uma linha, um número inteiro
Não vai funcionar. São necessários 3 bits para codificar 6 valores. O número inteiro tem 32 bits, você precisa de 36 bits para codificar 12 números.
A questão é por que você precisa de um armazenamento compacto. Muito provavelmente o objetivo final é diferente e alcançável de uma maneira diferente.
Não vai funcionar. São necessários 3 bits para codificar 6 valores. O inteiro tem 32 bits, você precisa de 36 para codificar 12 números.
Bem... como uma opção.
Desloque-se para a região positiva por 2 unidades para remover 0 e -1 (seguido de restauração após a leitura) e você pode facilmente formar um número inteiro.
Alternativamente, pode-se usar a repetição de dados (como na compressão de imagens). Ou, você pode escrever valores diferentes para o mesmo espaço de memória. Você pode economizar nos índices dando um nome a todos os tipos de coisas. Você pode até mesmo criar tal serviço - ele seria solicitado :)
| 4,4,1,2,1,1, 1,1,1,1,1,1 |
| 3,3,3,3,3,3, -1,-1,-1,-1,-1,-1|
Quero compactar dados - uma linha, um número inteiro
Mudar para a notação de pentâmetro onde posso converter uma seqüência de números em um. Para binário, eu tinha funções prontas para uso
Mude para um sistema de números pentatônicos onde você pode converter uma seqüência de números em um. Para binário, eu tinha funções prontas
Já pensei sobre isso, não existe uma matriz pronta para armazenar vários números de 5 dígitos em um único int?
Não leva muito tempo para fazer um. Tanto para a codificação como para a decodificação
A seguinte fórmula pode ser usada para a codificação
{a1,a2,a3,a4,a5}
N=a1*5^4+a2*5^3+a3*5^2+a4*5^1+a5*5^0;
A decodificação é um pouco mais complicada. Mas se formos para um loop, não há problema com ambos
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;
Eu não consigo nem formular uma consulta para um mecanismo de busca :(((
Quero fazer algum tipo de comparação de similaridade? correlação? várias matrizes com dados numéricos.
assim:
matriz1: matriz2:
| 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|
as matrizes dadas têm diferenças mínimas, como isso pode ser analisado de forma programática?
Eu não consigo nem formular uma consulta para um mecanismo de busca :(((
Quero fazer algum tipo de comparação de similaridade? correlação? várias matrizes com dados numéricos.
assim:
matriz1: matriz2:
| 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|
as matrizes dadas têm diferenças mínimas, como isso pode ser analisado de forma programática?
se e se novamente. Eu começaria com a1a1