发布网友
共2个回答
热心网友
~x是将x转化成二进制数,按位取反,例如x=8,那么x=100,
按位取反就是x=011,但是这个涉及到你系统里面x是什么类型的,几个字节,有没有符号位,和符号位的填充方式。这个最好是看书吧。相当麻烦了。
钱能的书里举例是:
a=12;a=00000...0000000000000001100(一共32位)
那么~a=1111111...111111111111110011(一共32位)
那么a=-13(就是把所有位都取反,符号位也会取反)
goto用法比较简单
假设语句:
goto lable1;
那么执行这句的时候就会找lable1标号的句子。标号方式如下:
lable1:{一个语句就不用大括号,内容多就用大括号}
热心网友
~运算符代表求补运算。你定义的x,z的数据类型都是有符号数(int,无符号数为unsigned int),也就是最高位代表符号。如果初值为0,那么它们的符号位为0,表示为00000,当进行~运算时,操作是先加一再按位取反,即新值=00000+0001=00001再按位取反,得到11110,最高位1代表负号,则整个数变成了-14
另外goto语句现在用的不多了,容易引起程序结构的混乱,通过条件语句和选择语句的使用完全可以取代goto语句
还有什么问题我们一起交流哈!