单片机C语言中的负数怎么操作

Python020

单片机C语言中的负数怎么操作,第1张

负数正数一样参与加减乘除运算,不同之处显示时前面多一个负号,用sprint函数将其转化为字符串,即可进行显示对于整数,还有一种方法,先判断是是否大于等于0,如果小于0,则取反,可以和正数一样分离个 十 百 千 万,然后显示,前面加一负号即可

type(数的类型)number(你要输出的数)

printf("% +d",number)

例如

int i=-617

printf("% +d",i)

"+"号是输出符号的

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

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

例如:

int a=1

int b=a-2

printf("b=%d",b)

//输出结果:b=-1

超过变量类型的最大取值范围,发生溢出。

例如Turbo C里int是16位,取值范围-32768~32767。如果计算过程当中,数值超过32767,由于补码的关系。结果就有可能是负数。这种情况,就需要使用取值范围更大的数据类型。

例程:

#include<stdio.h>

void main(){

 int a,b,ch

 a=32767

 b=a+1

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

 ch=getch()

}   

//输出结果:a=32767,b=-32768