c语言中-1是啥意思

Python030

c语言中-1是啥意思,第1张

正确答案是2次。

楼主可以把下面的程序在计算机VC6.0环境下运行看看结果就知道哦

程序清单:

#include <iostream>

using namespace std

int main()

{

int t=1

while(-1)

{

printf("nice dream\n")

t--

if(t)

break

}

return 0

}

最后屏幕上输出两行:

nice dream

nice dream

哈哈

下面对楼主解释一下-1

在c中,-1你可以认为是非零,那么只要while里面的判断非零,就会循环执行,所以这里的

while(-1)的供能也是循环执行,类似于while(1)

第一次执行时候,t--之后t=0;那么if不成立,所以不会执行break

第二次执行的时候,t--之后t=-1;那么if成立,所以执行break,这样就会跳出while循环

所以一共执行了两次

嘿嘿~~~希望可以共同进步哦 楼主@_@

c语言中-1的绝对值是1,二进制00000001,取反为11111110,-1为11111111,取反是00000000。

1、所有正整数的按位取反是其本身+1的负数

2、所有负整数的按位取反是其本身+1的绝对值;

3、零的按位取反是-1(0在数学界既不是正数也不是负数);

0的原码:00000000000000000000000000000000

取反:11111111111111111111111111111111

最高位是1所以是负数,求其原始数据,方法是

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

取反:10000000000000000000000000000000

加110000000000000000000000000000001

所以是-1

扩展资料

C语言按位与运算符(&)

按位与运算将两个运算分量的对应位按位遵照以下规则进行计算:

0&0=0,0&1=0,1&0=0,1&1=1。

即同为1的位,结果为1,否则结果为0。

例如,设3的内部表示为

00000011

5的内部表示为

00000101

则3&5的结果为

00000001

按位与运算有两种典型用法,一是取一个位串信息的某几位,如以下代码截取x的最低7位:x&0177。二是让某变量保留某几位,其余位置0,如以下代码让x只保留最低6位:x=x&077。以上用法都先要设计好一个常数,该常数只有需要的位是1,不需要的位是0。用它与指定的位串信息按位与。