① c语言问题,正数除负数结果是正还是负的
这和C语言中数据的储存有关.C语言中数据的储存空间是有限的,比如说整型数据,占四个字节,从而整型数是有范围的,从-2^31+1到2^31,正负号根据二进制数第一位决定.并且运算是以二进制来进行的,当两个数加和超出范围时,自动舍去超出的位数(二进制),所以当然可能两个很大的正数相加等于负数咯.
② c语言中负数除以10和正数除以10一样吗
首先编程语言也是为了人类服务的,那么负数除以10和正数除以10的结果肯定是不一样的
然后数据是以二进制在计算机中存储的。然而,计算机并没有单独存储负数的机制,所以负数都是用补码的形式存储的。除法的具体计算过程可以参考计算机组成原理里面除法的计算过程
③ 在C语言中作除法时,若有负数,是否是最后的商与被除数符号一致呢谢谢(如2/(-1)==2)
是否是最后的商与被除数符号一致呢?
这个问题的答案是否定的,也就是商与被除数符号不一定是一致的,还与除数的符号有关
假如有以下代码:
int m = 2/(-1);
printf("%d\n",m);
m = -2/-1;
printf("%d\n",m);
那么输出的值为-2 和 2
④ c语言 负数运算 请高手帮忙解释下
-5*3=-15
5*-3=-15
-5*-3=15
这三个不解释了吧。
-5/3=-1
5/-3=-1
-5/-3=1
这三个你这么理解,5/3=1,然后负负为正,正负为负,计算机的运算过程差不多也是这样。
-5%3=-2
5%-3=2
-5%-3=-2
这三个也是那么理解的,首先不管符号,然后5%3=2,然后负负为正,正负为负。。。
-5&3=3
5&-3=5
-5&-3=-7
这个是按位与,-5二进制是10000101,负数在计算机中是以补码保存的,补码是11111011,3是00000011,正数不用存补码,还是原码,按位与之后就是00000011,就是3。
5和-3按这个算法,5原码是00000101,-3原码是10000011,补码是11111101,按位与,00000101,就是5。
-5和-3,都是补码,-5补码是11111011,-3补码是11111101,按位与,结果是11111001,这里要注意了,这个数的符号位为1,所以这是一个补码,要翻译一下,除符号位不变外,其他位减1取反,结果是10000111,就是-7。
-5<<3=-40
5<<-3=-1610612736
-5<<-3=1610612736
移位,第一个还好说,-5的补码是11111011,左移3位,左移的过程后边是要补两个数的符号位的与运算的,结果就是11011000,这个数是一个负数,需要转换一次,除符号位外-1取反,就是10101000,就是-40。
第二个和第三个比较麻烦,我以上给你说的都是按照8位的存储说的,其实计算机真正是按照32位存储的,也就是传说中的32位系统,未来还会有64位系统这一说法,那一个数字就是64位了,好了,现在咱们看32位的情况。5的实际存储为32位的,之前不提另外的0因为不影响运算结果,现在影响了,就加上。左移-3位,就是右移3位,前边补1,也就是两数的符号位求异或的结果,异或说白了还是负负为正,正负为负,这里补的就是1,结果就是,这个数就是-1610612736。
⑤ C语言 带有负数的除法运算
-30/8是整型除法,结果为整型,而你用%f占位符输出整型,这是不正确的。如果要用%f,必须输出一个float型或double型。改为(double)-30/8。
⑥ 请问C语言是怎么计算负数取余的
C语言计算负数取余:符号内的被除数决定,就是计算式中的-7,7,-7决定:比如-7%5=-2;
7%-5=2;
-7%-5=-2;
负数取余的原理:
任何一个整数n都可以表示成n=k*q+r其中0<=|r|<|q|这里的r就是n除以q的余数,即r==n%q例如:-9=(-2)*4+(-1)则-9除以4的余数为-1。
求余:取整除后的余数。
求模:基本意义和求余相同,不过要求a%b中的b不是负数。
(6)c语言除负数等于什么意思扩展阅读
C语言除法运算符“/”和求余运算符“%”
除法运算符“/”。二元运算符,具有左结合性。参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。
例如:
5/2=2,1/2=0
5/2.0=2.5
求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。
⑦ c语言中负数怎么求余
1、首先在电脑中打开C语言终端窗口,用vim创建一个c文档,如下图所示。
⑧ 关于C语言里有负数参与的除法
10%(-3)
-3取绝对值
然后10%3这个应该好理解 就是1
(-10)%3其实不用看负号 先算10%3为1再加负号为-1就可以了
你这样理解也是可以的
⑨ C语言 !(一个负数)等于啥
可以,但是结果会出错,负数在计算机中最高位为1,作为符号标志(正数为0),但是如果赋给无符号整型变量,最高位的标志位就会变成数值位,计算时把这个1当成数值。