当我在我的 iPad Air (iOS 7.1) 上执行这段代码时
#include <arm_neon.h>
static inline void TestArmConversion()
{
float x[2] = { 1.5, 2.6 };
int32_t z[2];
vst1_s32(z, vcvt_f32_s32(vld1_f32(x)));
for (int k = 0; k < 2; k++)
{
printf("z[%d] = %d\n", k, z[k]);
}
}
...我得到以下结果:
z[0] = 1316945920
z[1] = 1317031117
我本以为会得到
z[0] = 1 z[1] = 2
我做错了什么?
最佳答案
你很接近!你只是混淆了转换。请改用 vcvt_s32_f32(float32x2_t)
。
关于ios - ARM Neon iOS float 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26427065/