[問題] _mm_shuffle_epi8 :: 看不懂MSDN上的解釋

看板C_and_CPP作者 (啤酒肚)時間14年前 (2011/04/06 19:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
這是SSE3的指令集: http://msdn.microsoft.com/zh-tw/library/bb531427%28v=vs.90%29.aspx __m128i _mm_shuffle_epi8( __m128i a, __m128i mask ); msdn上面這樣寫: rn = (maskn & 0x80) ? 0 : SELECT(a, maskn & 0x0f) SELECT的解適是這樣 SELECT(a, n) extracts the nth 8-bit parameter from a. The 0th 8-bit parameter is the least significant 8-bits. 但我真的不懂這是在幹嘛: MSDN上的例子: a.m128i_i8[15] = -1; ---> 1111 1111 mask.m128i_u8[15] = 0x00; -> 取第0個8bit ? 那為何輸出是 1 ( 0000 0001). 同理: a.m128i_i8[13] = -64; ---> 1100 0000 mask.m128i_u8[13] = 0x02; 那為何輸出是 4 (0000 0100) ?? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.158.204
文章代碼(AID): #1Dd4eklA (C_and_CPP)
文章代碼(AID): #1Dd4eklA (C_and_CPP)