66问答网
所有问题
当前搜索:
在c语言中负数是真还是假
为什么
c语言中
可以
用
补码来
表示负数
答:
计算机中,只有加法器,没有减法器。负数,必须转换成正数(即补码),用加法来计算。你看十进制:24 - 1 = 23 24 + 99 = (1) 23 舍弃进位,+99 就可以代替-1。+99 就称为-1 的补数。
负数的
补数= 负数+10^n, n 是位数。二进制的补码,也是这样计算出来的。负数的补码= 负数+...
C语言
无符号整形和无符号短整型显示
负数
结果为什么不一样?
答:
因为printf里用%d来输出某个变量时,程序会默认该变量为int型。如果该变量是整型,但不是int,而是char或者short,程序会先把它转换成int型,再传给printf.所以用unsigned int a=-12时,没有上面所说的转换步骤,%d当成有符号整数,输出是-12,没问题。unsigned short a=-12时, 注意这时候a是16位...
C语言中
,
用
printf输出一个无符号变量的内容时,输出结果一定是正数?
答:
C语言中
,用printf输出一个无符号变量的内容时,输出结果一定是正数。这句话错了。错的原因:无符号数除了包含正数之外,还包括0。而0并不是正数。所以,当输出0时,就证明这个说法是错误的了。
在C语言中
,只有十进制可以
是负数
,八进制和十六进制只能是整数怎么理解...
答:
C语言
编译后都会转换成二进制数据以便计算机识别。 所以你可以把八进制和十六进制转换成二进制数据,二进制可以
表示负数
在C语言中
,整数-8在内存中的存储形式是?
答:
这要知道 原码、补码与反码的关系。
在C语言中
,
负数是
用补码表示的。最高位为1,
表示负数
,为0表示正数 以八位为例,8在内存中的形式是00001000;-8就是8的原码的反码+1 反码:11110111 补码:11110111 + 1 =11111000。这就是其形式。楼上给出的是16位形式~...
C语言中
为什么
用
补码
代表负数
答:
不
是c语言用
补码
表示负数
,而是计算机用补码表示负数 因为用补码的话,加法器直接做加减运算就可以了,不再需要考虑
正负
号问题
...和int有什么区别,各个表示范围是多少,double可以
表示负数
吗...
答:
区别:double双精度浮点数,就是有小数点的数,并且范围大于int int整型,只能表示整数 它们的范围随着机子不同而不同,如在32位机子和64位机子,它们是不同的。32位机int(-2^31 ~ 2^31)和64位机int是不同的。double可以
表示负数
在c语言中
如何比较
负数
的大小
答:
include<stdio.h> voidmain(void){ inta,b,
c
,max;printf("inputthreerealnumbers:\n");scanf("%d%d%d",&a,&b,&c);if(a>=b)max=a;else max=b;if(max>=c)printf("%d",max);else printf("%d",c);getch();return0;}
在C语言中
, 如果被除数为
负值
, 则对一个正数求余的时候, 求出的余数...
答:
在C语言中
求余运算的结果的符号与被除数相同。如果被除数为
负数
,则余数也是负数。求余的计算公式如下:余数=被除数-被除数/除数*商;下图是一个示例:
在c语言中
如何比较
负数
的大小
答:
include<stdio.h> voidmain(void){ inta,b,
c
,max;printf("inputthreerealnumbers:\n");scanf("%d%d%d",&a,&b,&c);if(a>=b)max=a;else max=b;if(max>=c)printf("%d",max);else printf("%d",c);getch();return0;}
棣栭〉
<涓婁竴椤
2
3
4
5
6
7
8
9
10
11
涓嬩竴椤
灏鹃〉
其他人还搜