我需要将整数位从1翻转到0和0到1. E.g 10010到01101问题是在HLSL ps_3_0中没有二元运算符。不〜,<<,>>,......有没有数学方法来实现这个目标?
答案 0 :(得分:2)
您可以使用以下解决方案
int inverse(int x)
{
return 0xFFFFFFFFU - x;
}
否则:
int inverse(int x)
{
return -x - 1; // because -x = ~x + 1, only works in 2's complement
}