正確的算法是先按照絕對值去算,算出來以后,結(jié)果值為除數(shù)絕對值得的差值減余數(shù)絕對值的差值~
黔西網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
第一位符號位1為負,0為正。 正數(shù)的補碼和2進制原碼是一樣的。
負數(shù)的補碼:
1、先取絕對值|x| ;
2、對|X|+1 ;
3、對|X|+1 取反,就得到它的補碼了 。
計算機中存放整型數(shù)據(jù)都是按補碼的形式存放的。
擴展資料:
有符號數(shù)的表示方法是由硬件決定,而不是由C決定的。有三種表示方法:
1、二進制原碼
0000 0001? 表示 1
1000 0001? 表示 -1
這個方法有個缺點是有兩個零: +0 和 -0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。
2、二進制補碼(最普遍的系統(tǒng))
區(qū)別在于 singned 和 unsigned:
1)如果是無符號字節(jié), 1000 0000 該組合為 128
2)如果是有符號字節(jié), 1000 0000 該組合為 -128
第一種表示數(shù)的范圍是 0 ~ 255;
第二種表示數(shù)的范圍是 -128 ~ +127,對于一個二進制補碼數(shù)取負數(shù),最簡單的方法就是取反、加 1。
3、二進制反碼
通過反轉(zhuǎn)位組合中的每一位以形成一個數(shù)的負數(shù),例如:
0000 0001? 表示 1
1111 1110? 表示 -1
這種方式也有一個 -0:1111 1111。其范圍是 -127 ~ +127。
先取絕對值求余,再按照被除數(shù)的符號,如(-10)%3等于-1,10%(-3)等于1