c语言中-1是啥意思

Python015

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循环

所以一共执行了两次

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

第一位符号位1为负,0为正。 正数的补码和2进制原码是一样的。

负数的补码:

1、先取绝对值|x| ;

2、对|X|+1 ;

3、对|X|+1 取反,就得到它的补码了 。

计算机中存放整型数据都是按补码的形式存放的。

扩展资料:

有符号数的表示方法是由硬件决定,而不是由C决定的。有三种表示方法:

1、二进制原码

0000 0001  表示 1

1000 0001  表示 -1

这个方法有个缺点是有两个零: +0 和 -0。这会引起混淆,而且用两个位组合来表示一个值也有些浪费。

2、二进制补码(最普遍的系统)

区别在于 singned 和 unsigned:

1)如果是无符号字节, 1000 0000 该组合为 128

2)如果是有符号字节, 1000 0000 该组合为 -128

第一种表示数的范围是 0 ~ 255;

第二种表示数的范围是 -128 ~ +127,对于一个二进制补码数取负数,最简单的方法就是取反、加 1。

3、二进制反码

通过反转位组合中的每一位以形成一个数的负数,例如:

0000 0001  表示 1

1111 1110  表示 -1

这种方式也有一个 -0:1111 1111。其范围是 -127 ~ +127。