① c语言如何表示正负值问题
c语言有两种数据类型,一种是整型,一种是浮点型 ,整型类型一般用的原码表示,浮点类型一般用的IEEE754标准进行编码。
整型数中原码表示正负数,取最高位为符号位,以8位二进制数来表示1和-1。1的二进制为
0 000 0001 //最高位为符号位,0表示正数,1表示负数
1 000 0001 //这个表示-1
IEEE754浮点数编码,使用的格式类似于 (-1)^s * M* 2^E,其中s是符号位,M是有效位数,E指的是指数,s符号位占1位,如果是0,则(-1)的0次方为1,表示是一个正数,如果s位是-1,则表示是一个负数。
② C语言表达式求值中怎么确定'-'是负数的符号还是运算符
举个例子说明下
x=-1
;
-是负号的意思,
x-=1
;
-是减号的意思,
在运算口诀里
“自增自减非反负”这句中的负即是指负号
他们是单目运算符,结合性为自右向左,
③ 单片机C语言中怎样判断负数
楼主,我给你一个例子:
char
number;
//简单方式
if(number>0)
{
......//正数
}
else
{
....//负数
}
//复杂一点
char
number;
char
temp;
temp=255+number;
if(temp>0)
{
......//负数
}
else
{
....//正数
}
有问题,再问!
④ 单片机C语言中的负数怎么操作
负数和正数一样参与加减乘除运算,不同之处显示时前面多一个负号,
用sprint函数将其转化为字符串,即可进行显示
对于整数,还有一种方法,先判断是是否大于等于0,如果小于0,则取反,可以和正数一样分离个 十 百 千 万,然后显示,前面加一负号即可
⑤ c语言优先级别里的 正号负号 和 加减 怎么判断哪个是哪个
加减号是双目运算符,必须两边都有数据(变量或常数),结合性从左至右,即可简单理解为从左至右计算。正负号是单目运算符,只有一个数据,且是右结合的,可以理解为它只作用在紧接它的右边的数据上。如a+b、a-b中的+和-是加减号,而-x、+y中的+和-是正负号。所以它们在C语句中是很好识别的。
⑥ 判断某数是否为负数的程序用C语言怎么写
#include
int main()
{
int i;
printf("请输入数字\n");
scanf("%d",&i);
if(i>=0)
{
printf("这个数字为非负数");
}
else
printf("这个数字为负数");
}
⑦ c语言 (:) 判断一个数字的 正负。
printf("%d是%s\n",num,num>0?"正数":num<0?"负数","零");
⑧ 在c语言中怎么表示负数。
第一位符号位1为负,0为正。
正数的补码和2进制原码是一样的。
负数的补码:
1、先取绝对值|x|
;
2、对|X|+1
;
3、对|X|+1
取反,就得到它的补码了
。
计算机中存放整型数据都是按补码的形式存放的。
(8)c语言负数怎么认定扩展阅读:
有符号数的表示方法是由硬件决定,而不是由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。
⑨ c语言中负数如何表示
写成10进制 可以直接加负号
写成16进制 最高位为1即可。
负数表示为补码, 最高位为符号位 为1
其它位为原码按位取反加一。
⑩ 计算机c语言中/运算符正负怎么确定
int sign(int a)
{
return (a>0) - (a<0);
}