Evg*_*kov 1 c# bit-manipulation bitwise-operators
我有一个字节数
// in decimal
byte number = 250
// result who I want is number = 5
// in binary
byte number = 0b11111010
// result who I want is number = 0b00000101
Run Code Online (Sandbox Code Playgroud)
如何反转此数字中的每一位?我尝试左移,右移操作,使用OR,AND但不是这样做我需要的.
使用按位运算not符~
byte b = 0b11111111;
byte flipped = ~b; // 0b00000000
Run Code Online (Sandbox Code Playgroud)
编辑:从MSDN解释
〜运算符查看表达式值的二进制表示,并对其执行按位求反运算.表达式中任何1的数字在结果中变为0.表达式中任何0的数字在结果中变为1.当〜运算符作用于整数数据类型的操作数时,它不执行强制操作并返回与操作数相同的数据类型的值.当操作数是非整数数据类型时,在执行操作之前将值强制转换为int类型,并且操作符的返回值为int类型.
| 归档时间: |
|
| 查看次数: |
602 次 |
| 最近记录: |