C# ~按位取反运算符

      今天用到了 ~按位取反运算符,可是在网上搜索了半天也不太明白说的什么意思,按它的意思求出来的结果也总是对不上,然后就经过我多翻查证之后配上自己的理解来谈一谈。                                                                                                                // ~(非运算)  位逻辑非运算按位对运算对象的值进行非运算 
 // 计算机运算的时候都是以补码的形式进行计算 ~ 符号就是求出了该数的补码的取反的原码 
 // 以6为例: 
 // 原码:补码:反码:(正数都一样(加符号位))00000110 
 // ~字符的运算逻辑、先取6的补码 00000110
 //                                 然后取反得 11111001(这是一个补码)然后在求该补码的原码(该数是一个负数的反码表示形式)
 //以知一个负数的补码形式求原码得 10000111(10进制表达形式为-7)
 //以-6为例:
 // 原码:10000110
 // 反码:11111001
 // 补码:11111010
 //~字符的运算逻辑 先取-6的补码 11111010 
 //                             再取其相反   00000101(这个一个补码得表示形式) 

 //               在求其补码形式得原码 00000101(10进制表示5)(这是一个正数:原反补都一样)                                                                  以上就是我得一些自己得理解,可能不是太官方得语言,希望可以帮到大家理解,也欢迎各位大神指点!

猜你喜欢

转载自blog.csdn.net/qq_41600074/article/details/80050147
今日推荐