① 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當成數值。