『壹』 c语言中取反的问题

我想a应该是字符型吧?

char a=2;
那么a=00000010 (char 单字节)
对a取反
~a=11111101
因为char是无符号型。
那么对无符号数而言,11111101即是253
注意,取反是对整个数位取反,而不是对有效数位取反。

『贰』 c语言中的取反

#include<stdio.h>
#include<string.h>
#include<math.h>

int main()
{
int i,n,len;
char a[20]={0};
scanf("%d",&n);
sprintf(a,"%d",n);
len=strlen(a);
n=0;
for(i=1;i<=len;i++)//把N倒过来,如果只要输出的话就不用这句了,直接反向输出字符串即可
n+=(int)pow(10,i)*(a[i-1]-'0');
printf("%d\n",n);

return 0;
}

『叁』 c语言按位取反~

-5
首先我们现在的机器是32位的(楼主可以不必要理会)
所以4的二进制为
0000 0000 0000 0000 0000 0000 0000 0100
而它的取反是
1111 1111 1111 1111 1111 1111 1111 1011
可以发现最高位是1,所以是负数(因为是int型,如果是unsigned就不能说是负数)。
但是,还要通过补码的形式进行输出(谭浩强第二章有说)
补码是:按位取反再加1
所以也就是把1111 1111 1111 1111 1111 1111 1111 1011再取反
成0000 0000 0000 0000 0000 0000 0000 0100
然后再加1
就成0000 0000 0000 0000 0000 0000 0000 0101
所以得到答案为-5

『肆』 c语言 !与~ 好像都是取反

!是逻辑取反,只涉及到0和非0(非0并没有统一的数值)
~是按位取反,就是数值写成2进制,然后0改成1,1改成0

『伍』 C语言中取反符号怎么打出来的

C语言中取反符号是~。

C语言运算符:

1.算术运算符:*-+/%

2.关系运算符:><==!=>=<=

3.逻辑运算符:!&&||

4.位运算符:<<>>~|^&

5.赋值运算符:=及扩展赋值运算符

6.条件运算符:?:

7.逗号运算符:,

8.指针运算符:*和&

9.求字节数运算符:sizeof

10.强制类型转换运算符:(类型)

(5)取反c语言扩展阅读

C语言中取反符号的使用

a=23,c=~a,printf("%d",c);

#include<stdio.h>

intmain()

{

inta=23;

intc=~a;

printf("%d",c);

return0;

}

『陆』 C语言中的取反是什么意思啊

我感觉是这么回来事,0x11二进制是表源示是00010001,~之后是11101110,转化为十六进制后0xEE,这是在TC中整形2个字节,而在VC中整形是4个字节,所以 0x11转化为二进制时前面应该在补八个零,即0000000000010001~后为1111111111101110转为为十六进制后就为0xFFEE了。

『柒』 C语言的取反运算符

a=15=
~a=1000=
(计算机以补码存数据)正数补码是自身,负数补码是取反加一,作为补码,对应原码,也就是-16

『捌』 c语言,按位取反。

C语言的逻辑运算包括与、或、非
按位取反使用运算符~
如0xFF按位取反为专属~(0xFF)
按位取反后的结果为0x00
需要注意的是,C语言中的逻辑运算&和&&是不同的
0xFF&0xA0=0xA0
而0xFF&&0xA0=1
一个运算符是按位操作
其返回值是按位操作的结果
两个运算符是逻辑表达式,其返回值只有0和1

『玖』 c语言取反符号

我运行的结果是:-11
负数在计算机里表示成反补码
取反加1:反过来就是 -10-1 = -11
位运算操作会包括符号位