#include
using namespace std;
int main(int argc, char *argv[])
{
int i=-5;
while(~(i))
{
cout<
! 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