Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C uint32阵列到浮动32阵列,就位_C - Fatal编程技术网

C uint32阵列到浮动32阵列,就位

C uint32阵列到浮动32阵列,就位,c,C,我在空间有限的环境中工作。我通过DMA收集一个无符号32位整数数组,但我需要在MCU中使用DSP扩展将它们作为单精度浮点进行处理。复制阵列是不可能的-它几乎占用了所有现有的SRAM。有没有一个简洁的方法可以做到这一点 [注意]数据值只有12位,因此不存在超出范围的问题您可以这样做: uint32_t a[N]; float *f = (float *)a; for (i = 0; i < N; ++i) { f[i] = (float)a[i]; } uint32_t a[N

我在空间有限的环境中工作。我通过DMA收集一个无符号32位整数数组,但我需要在MCU中使用DSP扩展将它们作为单精度浮点进行处理。复制阵列是不可能的-它几乎占用了所有现有的SRAM。有没有一个简洁的方法可以做到这一点


[注意]数据值只有12位,因此不存在超出范围的问题

您可以这样做:

uint32_t a[N];

float *f = (float *)a;

for (i = 0; i < N; ++i)
{
    f[i] = (float)a[i];
}
uint32_t a[N];
浮点数*f=(浮点数*)a;
对于(i=0;i

请注意,这会破坏严格的别名规则,因此您应该使用
-fno strict aliasing
或等效工具进行编译。

您可以这样做:

uint32_t a[N];

float *f = (float *)a;

for (i = 0; i < N; ++i)
{
    f[i] = (float)a[i];
}
uint32_t a[N];
浮点数*f=(浮点数*)a;
对于(i=0;i

请注意,这会破坏严格的别名规则,因此您应该使用
-fno strict aliasing
或等效工具进行编译。

您可以这样做:

uint32_t a[N];

float *f = (float *)a;

for (i = 0; i < N; ++i)
{
    f[i] = (float)a[i];
}
uint32_t a[N];
浮点数*f=(浮点数*)a;
对于(i=0;i

请注意,这会破坏严格的别名规则,因此您应该使用
-fno strict aliasing
或等效工具进行编译。

您可以这样做:

uint32_t a[N];

float *f = (float *)a;

for (i = 0; i < N; ++i)
{
    f[i] = (float)a[i];
}
uint32_t a[N];
浮点数*f=(浮点数*)a;
对于(i=0;i


请注意,这会破坏严格的别名规则,因此您应该使用
-fno strict aliasing
或等效工具进行编译。

什么操作系统、CPU、编程语言?抱歉!纯香草CJust for completion,无操作系统,STM32F303x,Cortex M4“不可能复制阵列-它几乎占用所有现有SRAM”什么?你的MCU只有4字节的RAM?我的意思是阵列是16KB,剩余的总空间大约是4KB。操作系统、CPU、编程语言是什么?对不起!纯香草CJust for completion,无操作系统,STM32F303x,Cortex M4“不可能复制阵列-它几乎占用所有现有SRAM”什么?你的MCU只有4字节的RAM?我的意思是阵列是16KB,剩余的总空间大约是4KB。操作系统、CPU、编程语言是什么?对不起!纯香草CJust for completion,无操作系统,STM32F303x,Cortex M4“不可能复制阵列-它几乎占用所有现有SRAM”什么?你的MCU只有4字节的RAM?我的意思是阵列是16KB,剩余的总空间大约是4KB。操作系统、CPU、编程语言是什么?对不起!纯香草CJust for completion,无操作系统,STM32F303x,Cortex M4“不可能复制阵列-它几乎占用所有现有SRAM”什么?你的MCU只有4字节的RAM?我的意思是数组是16KB,剩余的总空间大约是4kbah。他是说将uint32值转换为float32,对吗?我想他想把uint32ah中原始二进制的浮点值转换成float32,对吗?我想他想把uint32ah中原始二进制的浮点值转换成float32,对吗?我想他想把uint32ah中原始二进制的浮点值转换成float32,对吗?我认为他想将浮点数从uint32中的原始二进制文件转换成浮点数