Bibliotecas: TypeToBytes - página 2

 
Rashid Umarov:
Os códigos-fonte foram atualizados na publicação?
Não, o código-fonte é antigo. Você é quem tem os novos recursos
double Nan = (double)"nan";
 
fxsaber:
Você pode criar uma classe para executar o TypeToBit?

para empacotar dados densamente e passá-los como um estoque rápido.
 
o_O:
talvez criar uma classe para a operação TypeToBit?

para compactar dados densamente e transferi-los por meio de um tipo rápido de estoque.
Não entendo o que isso significa.
 
Existe um protocolo interbancário rápido (no mesmo micex usado para alimentação de cotações)

nele os dados são transmitidos sem bytes extras iguais a 0.

por exemplo, 4 bytes int = 32 bits.

suponha que uma variável tenha um valor =1. Isso significa que o protocolo enviará apenas um bit (=1) em vez de 32 (00000000000000000000000000000001).

Se, por exemplo, =16, ele enviará 5 bits (=10000).

Em geral, a representação de dados em bits reduz enormemente o tráfego.

----

A Bíblia deve ser capaz de empacotar a estrutura transmitida em um formato de bits e lê-la de volta (ou retornar os dados necessários da estrutura empacotada).

O Fast tem outros recursos, é claro, mas apenas esse recurso de empacotamento é interessante.
 
ArrayPrint(_R(Num).Bits); // Imprimir bits rápidos

Como isso? É uma matriz uchar em que cada elemento corresponde a um bit rápido.

Acho que entendi. Há uma matriz de algum tipo, que é convertida em uma matriz uchar de bits rápidos.

Por exemplo, matriz {1, 2, 4} -> matriz {7}. E a conversão inversa, é claro.

 
fxsaber:
ArrayPrint(_R(Num).Bits); // Imprimir bits rápidos

Como isso? É uma matriz uchar em que cada elemento corresponde a um bit rápido.

Acho que entendi. Há uma matriz de algum tipo, que é convertida em uma matriz uchar a partir de bits rápidos.

Por exemplo, matriz {1, 2, 4} -> matriz {7}. E a conversão inversa, é claro.

existe o struct

{
int type;
long time;
}

allow type=10, time=1486758079

a representação de bytes será
00000000 00000000 00000000 00001010 | 00000000 00000000 00000000 00000000 00000000 01011000 10011110 00100000 10111111

e tão rápido (exagerado)

00001010 | 01011000 10011110 00100000 10111111

para um total de 5 bytes.Uma economia dupla.

(ainda deve haver um bit de parada separando os dados, mas você pode ver a ideia geral).
 
o_O:
existe o struct

{
int type;
long time;
}

allow type=10, time=1486758079

a representação de bytes será
00000000 00000000 00000000 00001010 | 00000000 00000000 00000000 00000000 00000000 00000000 01011000 10011110 00100000 10111111

e na forma de fast (exagerado)

00001010 | 01011000 10011110 00100000 10111111 (deve haver um bit de parada separando os dados, mas em geral a essência é mostrada).
mencione o ASN.1 com sua codificação BER/DER/XDR :-)
 
o_O:
00001010 | 01011000 10011110 00100000 10111111

para um total de 5 bytes. Uma economia dupla.

(ainda deve haver um bit de parada separando os dados, mas você pode ver a ideia geral).
Não é óbvio o que pode servir como separador.
 
fxsaber:
Não é óbvio o que pode servir como divisor.
http://www.jettekfix.com/node/36
Hello World Example | jettekfix.com
Hello World Example | jettekfix.com
  • www.jettekfix.com
To introduce the encoding and decoding process, we describe how a trivial message with only 1 field would be FAST encoded and decoded. Input Message Here's the message we'll start with: The SOH (ASCII 1) is the FIX separator byte. The Template This message requires a very simple template (expressed in XML and described in greater detail in...
 

Se eu entendi corretamente, propõe-se que o oitavo bit de cada byte seja o separador.