c语言中按位取反-1怎么算
c语言中-1的绝对值是1,二进制00000001,取反为11111110,-1为11111111,取反是00000000。
1、所有正整数的按位取反是其本身+1的负数;
2、所有负整数的轿银好按位取反是其本身+1的绝对值;
3、零的按位取反是-1(0在数学界既不是正数也不是负数);
0的原码:00000000000000000000000000000000
取反:11111111111111111111111111111111
最高位是1所以是负数,求其原始数据,方法是
再次取反加1(符号位不变)
取反:10000000000000000000000000000000
加110000000000000000000000000000001
所以是-1
扩展资料
C语言按位与运算符()
按位与运算将两个运算分量的对应位按位遵照以下规则进行计算:
00=0,01=0,10=0,11=1。
即搏老同为1的位,结果为1,否则结果为0。
例如,设3的内部表示为
00000011
5的内部表示为
00000101
则35的结果为
00000001
按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x=x077。以上用法都先要设计好一个常数,该常数只有需要的闭铅位是1,不需要的位是0。用它与指定的位串信息按位与。