我用於反轉的unsigned int
s的比特順序檢出的SWAR算法(小號 IMD W¯¯ ithin 甲ř egister)。 signed int
有類似的東西嗎?簽名INT轉換 - > LSB和++ LSB-> MSB用C
0
A
回答
0
這取決於你的意思是顛倒有符號整數的位。但是,一般來說,如果您計劃將符號位置於LSB位置,並將符號位置於符號位(這是交換任何東西的正常方式),那麼對於有符號整數和無符號整數都可以使用相同的算法。
如果不是這種情況,請通過反轉有符號整數來解釋您的意思。
1
該算法僅適用於無符號整數,因爲在位移時不需要符號擴展。由於該算法只使用二進制表示,而不是數值,因此您可以將其轉換爲大小相等的無符號整數(它將具有相同的表示形式),使用該算法並將其轉換回有符號。這些轉換不會變成任何彙編指令,它們只是使編譯器產生邏輯右移而不是算術右移。
相關問題
- 1. Android | LSB和MSB
- 2. 如何在Android上創建位反轉(從MSB-> LSB到LSB-> MSB)?
- 3. 理解MSB LSB
- 4. C MSB到LSB解釋
- 5. 顯示MSB到LSB
- 6. Java中的LSB/MSB處理
- 7. CC LSB和MSB的MIDI文件
- 8. 指針指向LSB或MSB嗎?
- 9. 如何解碼重複的無符號MSB和LSB 8位字?
- 10. java的MSB/LSB在BLE通信
- 11. 將LSB和MSB加起來得到一個值
- 12. C++無法將'類名稱<int>'轉換爲'int'
- 13. 遷移MSB和LSB的Postgres列到UUID列
- 14. De Bruijn LSB的等價物,但是對於MSB
- 15. 將IEnumerable <int>轉換爲int []
- 16. c#int [] array to byte [] array只有LSB
- 17. C++轉換_bstr_t爲int和int轉換成_bstr_t
- 18. 將int轉換爲void *和void *爲int,用於TMemoryStream-> WriteBuffer(C++ Builder XE7)
- 19. Haskell Int - > Word64轉換
- 20. 隱式轉換更改簽名'int'到'unsigned int'
- 21. 發送DNS數據:首先是MSB還是LSB?
- 22. 將ArrayList <int[]>轉換爲int [] []
- 23. 如何轉換system.linq.IQueryable <int?>爲int?[]
- 24. Gurobi,C#:無法從'int'轉換爲System.Collections.Generic.List <int>
- 25. 如何將List <KeyValuePair <int,int>>轉換爲int [] []?
- 26. 將轉換列表<string>轉換爲列表中的<int> C#
- 27. 將列表<int>轉換成列表<float>? C#
- 28. int - > sbyte - > sbyte的顯式轉換?
- 29. 轉換CLR類型名稱到相當於慣用C#別名(例如System.String =>串,的Int32 => INT)
- 30. C#阻止枚舉轉換int轉換
我真誠地希望這不意味着拼寫SWAP。標誌並不重要。 – 2011-04-10 20:03:18
非常感謝。是的,我不是故意拼寫SWAP :) – Doug 2011-04-10 20:08:50
是'SWAR'就像'寄存器內的SIMD'一樣嗎? – 2011-04-10 20:31:33