Bibliotheken: TypeToBytes - Seite 2

 
Rashid Umarov:
Wurden die Quellen in der Veröffentlichung aktualisiert?
Nein, der Quellcode ist alt. Sie sind derjenige mit den neuen Funktionen
double Nan = (double)"nan";
 
fxsaber:
können Sie eine Klasse machen, um TypeToBit auszuführen?

, um Daten dicht zu packen und sie wie eine Aktie schnell weiterzugeben.
 
o_O:
vielleicht eine Klasse für TypeToBit-Operation machen?

um Daten dicht zu verpacken und sie per Stock Fast Type zu übertragen.
Ich verstehe nicht, was damit gemeint ist.
 
Es gibt ein schnelles Interbankprotokoll (auf demselben micex, das für die Notierungseingabe verwendet wird).

Darin werden Daten ohne zusätzliche Bytes gleich 0 übertragen.

z.B. 4 Byte int = 32 Bits.

Nehmen wir an, eine Variable hat den Wert =1. Das bedeutet, dass das Protokoll nur ein Bit (=1) sendet. statt 32 (00000000000000000000000000000001).

Wenn z.B. =16, werden 5 Bits (=10000) gesendet.

Im Allgemeinen reduziert die Bit-Darstellung von Daten den Datenverkehr enorm.

----

Bible sollte in der Lage sein, die übertragene Struktur in eine solche Bit-Form zu packen und sie zurückzulesen (oder die notwendigen Daten aus der gepackten Struktur zurückzugeben).

Fast hat natürlich noch andere Eigenschaften, aber nur diese Eigenschaft der Packung ist interessant.
 
ArrayPrint(_R(Num).Bits); // Schnelle Bits drucken

Wie das? Es ist ein uchar-Array, bei dem jedes Element einem schnellen Bit entspricht.

Ich glaube, ich habe es verstanden. Es gibt ein Array irgendeines Typs, es wird in ein uchar-Array aus Fast-Bits umgewandelt.

Zum Beispiel, Array {1, 2, 4} -> Array {7}. Und die umgekehrte Umwandlung, natürlich.

 
fxsaber:
ArrayPrint(_R(Num).Bits); // Schnelle Bits drucken

Wie das? Es ist ein uchar-Array, bei dem jedes Element einem schnellen Bit entspricht.

Ich glaube, ich habe es verstanden. Es gibt ein Array irgendeines Typs, es wird in ein uchar-Array aus Fast-Bits umgewandelt.

Zum Beispiel, Array {1, 2, 4} -> Array {7}. Und natürlich die umgekehrte Umwandlung.

es gibt struct

{
int type;
long time;
}

allow type=10, time=1486758079

byte representation will be
00000000 00000000 00001010 | 00000000 00000000 00000000 00000000 10011110 00100000 10111111

und ebenso schnell (übertrieben)

00001010 | 01011000 10011110 00100000 10111111

für insgesamt 5 Bytes.Das spart doppelt so viel.

(die Daten sollten durch ein Stoppbit getrennt werden, aber Sie können die allgemeine Idee erkennen).
 
o_O:
es gibt struct

{
int type;
long time;
}

allow type=10, time=1486758079

byte representation will be
00000000 00000000 00001010 | 00000000 00000000 00000000 00000000 10011110 00100000 10111111

und in Form von schnellen (übertriebenen)

00001010 | 01011000 10011110 00100000 10111111 (es sollte ein Stopbit die Daten trennen, aber im Allgemeinen wird die Essenz gezeigt).
ASN.1 mit seiner (ihrer?) BER/DER/XDR-Kodierung erwähnen :-)
 
o_O:
00001010 | 01011000 10011110 00100000 10111111

für insgesamt 5 Bytes. Eine doppelte Einsparung.

(es sollte immer noch ein Stoppbit die Daten trennen, aber Sie können die allgemeine Idee sehen).
Es ist nicht offensichtlich, was als solches Trennzeichen dienen kann.
 
fxsaber:
Es ist nicht klar, was als solche Trennlinie dienen kann.
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...
 

Wenn ich es richtig verstanden habe, wird vorgeschlagen, das 8. Bit eines jeden Bytes als Trennzeichen zu verwenden.