1樓:會飛的小兔子
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不是負數。
擴充套件資料
c語言除法運算子「/」和求餘運算子「%」
除法運算子「/」。二元運算子,具有左結合性。參與運算的量均為整型時,結果為整型,捨去小數。如果運算量中有乙個為實型,結果為雙精度實型。
例如:5/2=2,1/2=0
5/2.0=2.5
求餘運算子「%」,二元運算子,具有左結合性。參與運算的量均為整型。求餘運算的結果等於兩個數相除後的餘數。
2樓:匿名使用者
簡單的說,先全都當正數取餘,然後在結果前面新增被除數的符號即可。比如問的-18%5就相當於18%5得到3,再添上「-」號,結果就是-3。
下面看具體的:
a%b = a - a/b*b
注意,這是c語言中的取餘,和電腦科學以及數學中定義的求模是有區別的。這裡的a,b都必須是整形。其中a/b是去尾運算而不是四捨五入。
對於有人問-7%5 = 3,那應該不是用的c語言取餘了,可能是python或者其他語言,按照電腦科學中取模的定義-7 mod 5的結果才是3。取模的定義就不多說了。今天正好對這方面產生了一點疑惑,我寫的解釋都是經過資料查詢和親自試驗的結論。
希望能幫到有同樣疑惑的人。
3樓:匿名使用者
汗,ls竟然還有說通過實驗驗證的,考試時有電腦嗎。。。
其是由符號內的被除數決定,也就是下例中的-7,7,-7決定比如-7%5 = -2;
7%-5 = 2;
-7%-5 = -2;
4樓:素朗劍琳怡
也就是下例中的-7。;7%-5
5樓:匿名使用者
自己實驗一下就知道了啊?為什麼非要問別人呢?
6樓:匿名使用者
對符號位進行異或運算,再把數值位按正數除法算吧,猜的,hoho
c語言裡的求餘運算子正數和負數怎麼算,比如10%-3
7樓:匿名使用者
符號由被除數決定,如果被除數是負數,得數就是負,如果被除數為正,得數就是正。具體數值和正數一樣
c語言的小例子,被除數和被求餘數是負數的疑問。
8樓:匿名使用者
這個問題在c語言早期是沒有固定的規定的,所以一些書中會有誰這種行為值不固定,是編譯器而決定,但是現在c99中有強制規定了,要求對於整型數a,b,必然滿足a%b==a-(a/b)*b
ps,其實這一點在k&r第二版中就有提到
9樓:種燒餅的怪叔叔
5%-3:(-3)*(-1)+2
-5%-3:(-3)*(1)-2
總之,商和除數乘積要與被除數符號一致。
10樓:匿名使用者
操作符『/』和『%』代表整除和取餘:若x和y都是正整數時x/y和x%y的結果都容易確定;但當x和y有負數時,結果就和具體的機器有關,但必有滿足x=(x/y)*y+x%y。
所以c=5%-3=5-(5/-3)*(-3)=5+1*(-3)=2
d=-5%-3=-5-(-5/-3)*(-3)=-5-1*(-3)=-5+3=-2
11樓:匿名使用者
這個必須把負號提在最前面。如a=(-)5/3
c語言中取餘數運算子%,結果的符號是正數還是負數
12樓:小白範
取決於不同的編譯器,一般來說與被除數的符號相同。
C語言中如何取整,C語言中取整是怎麼取?
茅玉枝稅子 參與運算量均為整型時,結果也為整型,捨去小數。如果運算量中有一個是實型,則結果為雙精度實型。printf d,d n 10 3,10 3 printf f,f n 10.0 3,10.0 3 c語言有以下幾種取整方法 1 直接賦值給整數變數。如 inti 2.5 或i int 2.5 這...
C語言的乙個計算題,c語言這題怎麼計算?
這個問題是乙個運算子優先順序的問題!題目中的優先順序 最高,依次是 所以上一題首先求解的是 第乙個 求解 z y為真,所以結果是1,用它的結果和x比較,1 2,所以括號內的結果是0 第二個 求解 y z為真,結果為1 第三個 求解 x y 2 4 6 第四個 求解 y z 2 所以得到的結果是!0 ...
請問c語言裡的這個怎麼算,請問C語言裡的這個怎麼算a3,b4ababaabb
按優bai先級,出現的運算子裡,du 括號最高,zhi然後 是dao 再之後是 3 4 3 4 3 3 4 4 括號運版算以後權 3 4 7 3 3 4 4 級運算以後 3 1 12 4 運算以後 12 這裡特殊注意4 7得到 int型的 4,然後 int 4 int 3是整數除法應該得到1。經過檢...