Chciałbym manipulować bitowym reprezentacji liczb zmiennoprzecinkowych w C#. BinaryWriter i BinaryReader zrobić to w ten sposób:Jak zdobyć bity "podwójnego" jako "długiego"
public virtual unsafe void Write(double value)
{
ulong num = *((ulong*) &value);
...
}
public virtual unsafe double ReadDouble()
{
...
ulong num3 = ...;
return *((double*) &num3);
}
Czy istnieje sposób to zrobić bez kodu niebezpieczny i bez obciążania rzeczywiście przy BinaryWriter i BinaryReader?
Jeśli obawiasz się o szybkość, używanie unii jest około trzy razy szybsze niż wywoływanie interfejsów API 'BitConverter' w moich szybkich testach. –