Для создания массива битов знаковых чисел из массива чисел с плавающей запятой, можно использовать SIMD инструкции. Однако, не все архитектуры SIMD поддерживают непосредственное преобразование `float` в биты, поэтому рекомендуется использовать промежуточное преобразование в `int`.
Для преобразования массива чисел типа `float` в его битовое представление, можно воспользоваться следующим кодом на языке C#:
```csharp
float[] floatArray = /* Исходный массив чисел с плавающей запятой */;
byte[] byteArray = new byte[floatArray.Length * 4]; // Байтовое представление будет в 4 раза меньше по размеру
Vector<float> vector = new Vector<float>(); // Создаем SIMD вектор для работы с числами типа float
Vector<byte> byteVector = new Vector<byte>(); // SIMD вектор для работы с числами типа byte
for (int i = 0; i < floatArray.Length; i += Vector<float>.Count)
{
vector = new Vector<float>(floatArray, i);
// Преобразуем числа типа float в числа типа int (с учетом конвертации значений и байтового порядка)
Vector<int> intVector = Vector.AsVectorInt32(vector);
// Преобразуем числа типа int в числа типа byte (с учетом конвертации значений и байтового порядка)
byteVector = Vector.AsVectorByte(intVector);
byteVector.CopyTo(byteArray, i * 4);
}
```
В результате данного кода, переменная `byteArray` будет содержать битовое представление массива чисел типа `float`, преобразованное в массив байтов. Каждое число из исходного массива `floatArray` будет занимать 4 байта в `byteArray`.
Если вам необходимо преобразовать массив чисел в размере 256 бит (т.е., например, 8 чисел `float`), в массив размером 1 байт или 8 байтов, то вы можете использовать соответствующие типы SIMD векторов и размерности в коде выше. Размерность SIMD вектора `Vector<byte>` будет соответствовать ожидаемому размеру результирующего байтового массива.