Ⅰ a&(-a) 什麼意思 c語言的
按位與因為數字在電腦中是以補碼的形式存在的。
例如:
a-=a的意思為a=a-a,先用a減a,再將得到的結果賦值給a。-=實際上是一種縮寫形式,使得對變數的改變更為簡潔。
運算時,可以將其寫成熟悉的形式,從右向左依次計算,注意在每次計算時,變數的值會發生改變, 如不注意,就會導致錯誤的情況發生。
(1)c語言中一個數的相反數怎麼表示擴展閱讀:
求負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)後加1。
同一個數字在不同的補碼表示形式中是不同的。比如-15的補碼,在8位二進制中是11110001,然而在16位二進制補碼表示中,就是1111111111110001。以下都使用8位2進制來表示。
例:求-5的補碼。
-5對應正數5(00000101)→所有位取反(11111010)→加00000001(11111011)
所以-5的補碼是11111011。
Ⅱ C語言2的取反為什麼是-3,怎麼算的正數的原碼反碼不是不變嗎
誰說的正數的反碼不變。通常來說,是正數沒得反碼和補碼這一說,因為正數的編碼都是原碼,也就不存在正數的反碼。將正數取反得到的結果是完全的另一個數。
數字編碼方式無論哪種編碼,都是為了代表一個數並且便於運算。我甚至可以指定00000001來代表數學上的2,00000010來代表5。我可以任意做影射關系,就像ASCII碼一樣,你說憑什麼13就代表換行,10代表回車,我用5代表回車就不行?答案是當然行,如果你夠牛,能改變標准就行。說白了就是一個影射而已,我想怎麼影射都可以,只是前人已經制定了那樣的標准,我們學習的時候,要試圖去理解,前人為什麼呀要那樣制定標准,好處是什麼。
Ⅲ #C語言程序 求X的相反數
#include<stdlib.h>
if(x>0)
t=-x;
if(x<0)
t=-fabs(x);
Ⅳ c語言編程作業 輸入一個整數,求他的相反數並輸出 急急急 在線等
int cou;
scanf("%d",&cou);
printf("相反數為:%d",0 - cou);
Ⅳ C語言相反數代碼
a*=-1;//a變為-a
Ⅵ 計算一個數的相反數該怎麼表示
樓上的,我記得那是倒數吧?
一個數的相反數,設該數位X。則相反數為-X
Ⅶ 怎麼表示相反數
(1)在數軸上表示.
(2)例如:表示2的相反數,在前邊加個負號,就是2的相反數.
正數的相反數是負數,負數的相反數是正數.
(0除外,0的相反數還是0,0沒有正負之分)
(3)根據相反數的性質「只有符號不同的兩個數互為相反數」
在正數前面添上「--」號,就得到這個正數的相反數.在任意一個數前邊添上「--」號,新的數就表示原數的相反數.
多看看課本,課本上有規定,再加上資料上的總結,靠自己的理解,就可以理解其中的意思.其實很簡單.
Ⅷ c語言中相反數值怎麼求!
……
int ge;
int shi;
int ;
ge=123%10;
shi=123/10%10;
=123/100%10;
printf("%d%d%d",ge,shi,);
……
基本方法是這樣了,123/10=12;12%10=2;
整數除整數還是整數,小數丟掉,接著取余就是,12除10的余數是2,
把用變數2留住。
理解後就可以去變化了。
Ⅸ c語言表示a,b成相反數
a==-b
a+b==0
都行
Ⅹ 輸入一個數i 和其相反數-i c語言 在線等 急急急
VB 將這組數存入數組a(0 to 99) 中,代碼自己寫。假設有100個數 ,
dim i as integer,j as integer , k as integer ,n as integer,m as integer
dim b() as integer '二維數組,用於存放比對結果
m=0 '用於計算有多少個數存在重復
for i =0 to 98
n=1 '用於計算某數重復多少次
for k=0 to m-1 '循環判斷該數是否已比對過
if a(i)=b(0,k) then exit for
next k
if k>=m then '沒比對過
for j=i+1 to 99
if a(i)=a(j) then n=n+1
next j
if n>1 then
m=m+1
redim preserve b(2,m)
b(0,m-1)=a(i)
b(1,m-1)=n
end if
end if
next i
'列印比對結果
for i=0 to m-1
print "數字" & b(0,i) &"共有" & b(1,i) &"個"
next i
純手工輸入,沒測試,如有些許錯誤,請自行修改。