我有一些代码使用SIMD优化和各种__m128i变量。显然,printf无法处理它们。有没有简单的方法让我打印他们的内容? 我正在使用C/C++的Visual Studio 2010。printf SSE变量__m128i在Visual Studio中
4
A
回答
3
使用此功能可打印出来:
void print128_num(__m128i var)
{
uint16_t *val = (uint16_t*) &var;//can also use uint32_t instead of 16_t
printf("Numerical: %i %i %i %i %i %i %i %i \n",
val[0], val[1], val[2], val[3], val[4], val[5],
val[6], val[7]);
}
你打印前拆分成128位16位(或32位)。
这是64位的分裂和印刷的方式,如果您有可用的64位支持:
void print128_num(__m128i var)
{
int64_t *v64val = (int64_t*) &var;
printf("%.16llx %.16llx\n", v64val[1], v64val[0]);
}
更换llx
与lld
如果u想int
输出。
+0
val [7],val [6],val [5],val [4],val [0] 3],val [2], val [1],val [0]);'似乎更符合逻辑打印顺序。 – enthusiasticgeek
1
我发现基于弗拉德的做法答案:
__m128i var;
printf("0x%I64x%I64x\n",var.m128i_i64[1], var.m128i_i64[0]);
这将打印整个128位值作为十六进制字符串。
相关问题
- 1. 打印一个__m128i变量
- 2. 使用SSE在__m128i向量中获取最大值?
- 3. 是__m128i变量零吗?
- 4. Visual Studio中,解释变量
- 5. 在Visual Studio中着色实例变量
- 6. 在Visual Studio 2012中的虚拟变量
- 7. C - 在Visual Studio界面的printf
- 8. 如何在MS Visual Studio中使用SSE内在函数?
- 9. Visual Studio Snippets与subString变量
- 10. Visual Studio 2008变量建议
- 11. Visual Studio的变量声明
- 12. SSE:将__m128和__m128i转换为两个__m128d
- 13. 使用Visual Studio中内嵌变量
- 14. Visual Studio 2010中LOCAL变量的Javascript Intellisense
- 15. 访问Visual Studio中的秘密变量
- 16. 了解Visual Studio中变量的地址
- 17. C#7.0 '出变量' 在Visual Studio 2015年
- 18. 跟踪特定变量在Visual Studio 2010
- 19. 全局变量在visual studio中不能正确打印
- 20. 在PHP变量中设置printf()值
- 21. 如何在printf中传递变量
- 22. 如何绘制变量在Visual Studio中的变化
- 23. 增量和变量的递减printf中
- 24. C++在Visual Studio 2017中,无法输入变量在循环中
- 25. 如何在Visual Studio 2005中获取printf警告?
- 26. 如何在Visual Studio中的整个项目中查找变量?
- 27. TFS 2015 Visual Studio构建项目变量
- 28. Visual Studio Team Services Web.Config替换变量
- 29. Visual Studio Solution Path环境变量
- 30. Visual Studio传递变量作为参考?
获取底部和上部分为int64_t并打印这些?将你自己的字符串转换除以十,直到达到0,转换为ASCII,然后反转字符串? – 2012-12-10 16:16:22
这绝对是我考虑的一个选项。我希望有一个更简单的解决方案(尽管这根本不难)。 –