2016 - 2024

感恩一路有你

位运算的运算规则 C语言中的位运算符是怎么取反的?

浏览量:2462 时间:2021-03-11 15:16:06 作者:admin

C语言中的位运算符是怎么取反的?

A是整数类型,通常占4个字节

2的原始代码:0000 0000 0010

求反:1111 1111 1111 1111 1111 1111 1111 1111 1111 1101

最高的位是1,所以它是一个负数。方法是

再次求反并加1(符号位不变)

求反:1000 0000 00010

加1 1000 0000 0000 0000 0000 0000 0000 0000 0000 00000000 0000 0000 0000 0011

so-3

使用~位求反时,计算机将对操作数对应的二进制表达式的每一位求反,求反后得到的值是~位求反的结果。例如,如果计算机是32位的,则下一步是计算~5的值,计算过程如下:5的二进制表达式是:1000000000000000101,执行~operation,即在~5:111111111101010之后,即结果是-6。上面的过程没有问题,但是如果你忘记了负数的二进制表达式,你会对这个结果产生怀疑,为什么111111111111111111101010代表-6,你可能会认为它应该代表-10等等。因此,使用~位取反的另一个关键是理解111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111。扩展数据JS~的整数是位求反运算,~是两次求反运算。这里~~用于删除小数部分。因为位运算的运算值要求是整数,结果也是整数,所以位运算后的数据会自动变成整数。除了~~n,n<<0n>>0n | 0

之外,在特定情况下计算也很方便快捷,比如网络地址的计算,ip1:0 192.168.0.11ip2:192.168.0.51mask:255.255.255.0数据分别用四个字节表示。当您要计算子网地址时,您可以使用“掩码逻辑或IP”操作来获得IP1和IP2属于同一子网。当您想计算这两个地址本身时,可以使用逻辑和运算。如果用算术方法,速度慢,逻辑复杂,在单片机中,有些复杂的算术指令可能支持不太好,但位运算是基本的逻辑运算,99.9999%的芯片支持位运算

位运算的运算规则 c语言按位与怎么算 c语言中位运算该怎么计算

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。