NOT(~) vs NEGATION(!)

前端 未结 4 1463
無奈伤痛
無奈伤痛 2020-12-13 18:58
#include 

using namespace std;
int main(int argc, char *argv[]) 
{
   int i=-5;
   while(~(i))
   {
      cout<         


        
4条回答
  •  误落风尘
    2020-12-13 19:52

    ! is true/false logic flipping

    ! means any nonzero becomes 0, and 0 becomes 1

    eg1. !0b1010 -> 0b0000

    eg2. !0b0000 -> 0b0001

    eg3. !0b1111 -> 0b0000

    generalised, out = in?0:1

    while...

    ~ is bit flipping

    ~ means flip each and every bit

    eg1. ~0b1010 -> 0b0101

    eg2. ~0b0000 -> 0b1111

    eg3. ~0b1111 -> 0b0000

    generalised, out = in^0b1111

提交回复
热议问题