我有一些代碼使用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
這絕對是我考慮的一個選項。我希望有一個更簡單的解決方案(儘管這根本不難)。 –