C/C++ 除法&取餘數 當被除數和除數為負數值的情況下結果紀錄

C/C++ 除法&取餘數 當被除數和除數為負數值的情況下結果紀錄

C/C++ 除法&取餘數 當被除數和除數為負數值的情況下結果紀錄



資料來源: https://mp.weixin.qq.com/s?__biz=MzA3MTU1MzMzNQ==&mid=2247485345&idx=1&sn=d0a6ad66f8aced14b1cb7b7225116fc5&chksm=9f2a9ff9a85d16ef246d98c698af74457f5f90534abd6b105a57da5e7c481e0b6bf838536d0d&scene=126&sessionid=1592795243&key=fa39e04f3e1bcf44f317fe5b0bbf3e5879e99a822015deb24158028d0ff9b0732bc3cdad8b5980e9275c8de2837211102f151329dfc3ea2463a29e293cdf95cba70521a86213db129ab9dfa90640f43c&ascene=1&uin=MjIwODk2NDgxNw%3D%3D&devicetype=Windows+10+x64&version=62090523&lang=zh_TW&exportkey=AnDjhwX%2F65vCa7OlqSWcN%2Bg%3D&pass_ticket=gLXJBYBdM3KuCBrQtEskXmIhQhdajwK5AX8G8d7WwNZbF5CIYK5K9pMfHipa%2FNLD


線上執行: https://www.tutorialspoint.com/compile_c_online.php


#include <stdio.h>

int main()
{
     int a=-3, b=2,c=3,d=-2;
     int q,r,m,n,x,y;
     q = a / b; /* -3/2=-1 */
     r = a % b; /* -3%2=-1 */
     m = c / d; /* 3/-2=-1 */
     n = c % d; /* 3%-2=1 */
     x = a / d; /* -3/-2=1 */
     y = a % d; /* -3%-2=-1 */
     printf("q=%d, r=%d\n" , q , r);
     printf("m=%d, n=%d\n" , m , n);
     printf("x=%d, y=%d\n" , x , y);

    return 0;
}

/*
q=-1, r=-1
m=-1, n=1
x=1, y=-1
*/



結論:

    餘數正負號決定權在被除數

    商數正負號決定權在兩數

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *