房天下 > 房天下问答 > 业主生活 > 其他
  • C语言 低4位全为1 什么意思?

    设一个低4位全为1、其余全为0的数~(~0<<4) 这句话表示什么意思呢? ~(~0<<4) 怎么解释呢?? 新手 越通俗越好

    提问者:wang9653

    发布于2011-02-09

共1个回答
  • quan860214 丨Lv 4
    这句话的执行顺序:~((~0)<<4) 0先取反,就变成了全是1的一个数,若当作signed int 打印出来就是-1。 全是1的一个数 左移4位后, 底四位补上0,高四位的1溢出。 然后再取反,就是一个只有低四位为1的数了,signed int打印出来应该是15 或者你用(unsigned int)-1 - 15, 和~(~0<<4)是一样的
    +1 2011-02-10 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。