看板 C_and_CPP 關於我們 聯絡資訊
這是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