C語言如何表示正負值問題,C語言正負數的和

2023-03-09 23:00:11 字數 1192 閱讀 5766

1樓:吉祥二進位制

c語言有兩種資料型別,一種是整型,一種是浮點型 ,整型型別一般用的原碼錶示,浮點型別一般用的ieee754標準進行編碼。

整型數中原碼錶示正負數,取最高位為符號位,以8位二進位制數來表示1和的二進位制為。

0 000 0001 //最高位為符號位,0表示正數,1表示負數。

1 000 0001 //這個表示-1

ieee754浮點數編碼,使用的格式類似於 (-1)^s * m* 2^e,其中s是符號位,m是有效位數,e指的是指數,s符號位佔1位,如果是0,則(-1)的0次方為1,表示是一個正數,如果s位是-1,則表示是一個負數。

2樓:匿名使用者

正如你所說,1111111111110110,如果是int型,表示-10,如果是unsigned int型,則是65526。

c語言內部,會根據資料型別對數值時行處理,short,int, long,double, float等是有正有負的,而unsigned 型別的都是沒有符號的,就是沒有負數。

其它的型別(如dword)都是typedef過後的,可以根據定義找到原來的型別。

3樓:華錄_起點

定義成有符號數,16位最好定義成長整型數。

最高位為符號位,通過判斷最高位來判斷正數還是負數。

補充:定義成:unsigned long a;

4樓:匿名使用者

int是有符號的,unsigned是無符號的,你若定義a是int型,它就是-10,你若定義a是unsigned型,它就是65526。對於-10和65526,在記憶體中都是一樣的,要分清它是-10還是65526,就得看你是定義的a是int型還是unsigned型。

5樓:匿名使用者

通過定義變數型別來確定,如int 為-32768——32767

unsigned int 則為0——65535;

c語言正負數的和

6樓:網友

您好:這個題目是在考察迴圈知識,我們採用for迴圈來計算1+1+2+4+..100的和,但是,由於是正負交替,所以我們採用一個變數來控制符號,就是用變數temp=1,然後讓它和 -1 相乘,這樣正負就會交替了。

#include

int main(void)

return 0;}

C語言的問題C語言問題C語言問題

若有說明語句double p,a 則能通過scanf語句正確給輸入項讀入資料的程式段是 解 p a 將a的地址賦值給p,scanf lf p 從鍵盤獲取一個數值賦值給地址p指向的變數 所以選d 有函式fun的定義形式如下。int fun float f 則以下對函式fun的呼叫語句中,不正確的是 a...

關於C語言請問C語言中如何表示根號

對於二次根號,有專門的函式sqrt,例如sqrt 2.0 表示根號2。對於任意次根號下,有專門的函式pow,例如pow 2,0.5 表示根號2,pow 10,1.0 3 表示3次根號下10。在math.h有定義,函式sqrt 引數和返回值型別為 double sqrt double 在c語言中,可以...

C語言問題,c語言問題?

一 c語言規定總是從main 開始執行的 這個函式也叫 主函式 因此,你發來的題目中的 1 6 8 敘述都是錯誤的,都應該選擇f。二 第2題中,c語言對其資料在記憶體中所佔用的實際位元組數,隨著程式中宣告的資料型別以及資料的多少而變化,c語言本身並沒有明確規定。這題應該選f。三 第3題,c語言中強制...