c语言 输入负数,c语言输入负数算不对

kodinid 16 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言 输入负数问题,于是小编就整理了5个相关介绍c语言 输入负数的解答,让我们一起看看吧。

  1. c语言如何输入负数?
  2. c语言输入负数要加什么?
  3. c语言怎么输出负数?
  4. c语言怎么输出一个负数?
  5. c语言什么情况下得负数?

c语言如何输入负数?

关于这个问题,在C语言中可以通过在数字前加上负号“-”来输入负数。例如,要输入-5,可以使用以下代码

```c

c语言 输入负数,c语言输入负数算不对-第1张图片-安济编程网
图片来源网络,侵删)

int num;

scanf("%d", &num);

num = -num;

c语言 输入负数,c语言输入负数算不对-第2张图片-安济编程网
(图片来源网络,侵删)

printf("输入的负数为:%d", num);

```

在上面的代码中,先使用scanf函数输入一个整数然后将其取负数赋值给num变量,最后使用printf函数输出结果

c语言 输入负数,c语言输入负数算不对-第3张图片-安济编程网
(图片来源网络,侵删)

在C语言中,可以通过在负数前面加上“-”来表示负数。
例如,输入-5就表示输入了一个负数。
此外,在使用scanf函数输入负数时,需要格式字符串中加上“%d”或“%i”,表示输入的是一个整数,否则程序将无***确解析输入的数据
因此,C语言中输入负数的方式是非常简单明了的。

c语言输入负数要加什么

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

正数的补码和二进制原码是一样的;

负数的补码是其本身绝对值的原码取反再加1.

0000 0000 表示 1

1111 1111 表示 -1

注意表示范围

1111 1111被当作纯二进制看待时,是255,被当做补码看待时是 -1.

c语言怎么输出负数?

符号也是数字的一部分,也要在内存中体现出来。符号只有正负两种情况,用1位(Bit)就足以表示;C语言规定,把内存的最高位作为符号位。

以 int 为例,它占用 32 位的内存,0~30 位表示数值,31 位表示正负号。

short、int 和 long 类型默认都是带符号位的,符号位以外的内存才是数值位。如果只考虑正数,那么各种类型能表示的数值范围(取值范围)就比原来小了一半。

c语言怎么输出一个负数?

负数用十六进制表示,通常用的是补码的方式表示。

int

a=-3;

在C语言中可以这么输出:printf("%hhx\n",

a);

十六进制(英文名称:Hexadecimal),是计算机中数据的一种表示方法。同我们日常生活中的表示法不一样。它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0~(N-1)的数表示,超过9的用字母A-F。

正数的补是它本身;负数的补码是它本身的值每位求反,最后再加一。

例如:求-3的十六进制

3的十六进制为0003,3求反之后是C,再加1,成D,所以-3的十六进制就是:FFFD

c语言什么情况下得负数?

出现负数,是因为奇数偶数的和太大,超过了long(长整型)类型的最大值了。

个数是对的,0-151554545共有151554546个数,其中奇数偶数各有75777273个。

至于for不动了,是for循环进入死循环了,你的编译器中int是2bytes,最大值为32768,当i加到32769的时候,就越界了,成为负数,所以i永远不会大于你输入的151554545这个数值,所以死循环。

这个问题有多种可能,不一而足。

算法错误,最终计算结果是负数。输出自然会是负数。

例如:

int a=1;

int b=a-2;

printf("b=%d",b);

//输出结果:b=-1

到此,以上就是小编对于c语言 输入负数的问题就介绍到这了,希望介绍关于c语言 输入负数的5点解答对大家有用。

标签: 负数 输入 语言