當前位置:首頁 » 編程語言 » c語言負數是什麼類型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言負數是什麼類型

發布時間: 2022-07-02 08:48:11

⑴ 在c語言中 2 進制8進制16進制中都怎麼表示負數如何定義類型如何輸出

8進制和16進制無符號(unsigned)類型
用0***表示八進制數,如0123表示八進制數123
用0x***表示16進制數,如0x1a表示16進制數1A
八進制數和16進制數都可存放於unsigned int中
輸出時,八進制標識符%o 16進制%x

⑵ 在c語言中怎麼表示負數。

第一位符號位1為負,0為正。 正數的補碼和2進制原碼是一樣的。

負數的補碼:

1、先取絕對值|x| ;

2、對|X|+1 ;

3、對|X|+1 取反,就得到它的補碼了 。

計算機中存放整型數據都是按補碼的形式存放的。

(2)c語言負數是什麼類型擴展閱讀:

有符號數的表示方法是由硬體決定,而不是由C決定的。有三種表示方法:

1、二進制原碼

0000 0001 表示 1

1000 0001 表示 -1

這個方法有個缺點是有兩個零: +0 和 -0。這會引起混淆,而且用兩個位組合來表示一個值也有些浪費。

2、二進制補碼(最普遍的系統)

區別在於 singned 和 unsigned:

1)如果是無符號位元組, 1000 0000 該組合為 128

2)如果是有符號位元組, 1000 0000 該組合為 -128

第一種表示數的范圍是 0 ~ 255;

第二種表示數的范圍是 -128 ~ +127,對於一個二進制補碼數取負數,最簡單的方法就是取反、加 1。

3、二進制反碼

通過反轉位組合中的每一位以形成一個數的負數,例如:

0000 0001 表示 1

1111 1110 表示 -1

這種方式也有一個 -0:1111 1111。其范圍是 -127 ~ +127。

⑶ C語言里負數是整數嗎

在VC C++上是正常啊

將整個程序復上來看看

它是指聲明部分是整數吧,

如int c = 1e-3;

printf("%d\n", c);

輸出就一定是0,因為int只能保存是整數嘛;修改為float就正常了(輸出變成%f)。

⑷ c語言中負數如何表示

c語言中負數表示方法就是在數前加負號「-」,比如:
-5,-10000,等
一個變數賦值為負數也是如此,比如:
x=-1000;

⑸ 請問c語言中的int類型-32768〜32767的負數是什麼,詳細的,不能超出這個范圍值

C語言如果使用16位系統,那麼int類型的有效位數就是16位(二進制數)
其中最高位代表正數(包括0)和負數的標識,0代表正,1代表負
負數一律使用補碼表示,即將這個負數相對應的正數所有位取反(1變0,0變1),再加1,即得補碼
而-32768是16位二進制(補碼)能表示的最小負整數,32767為16位二進制去掉最高位後能表示的最大正整數。

如1的二進製表示是15個0,最後一位是1
-1的二進製表示為 16個1
0的二進製表示為 16個0
-32768 的二進製表示為 最高位1 後面15個0
32767 的二進製表示為 最高位0 後面15個1

⑹ C語言里負數是整數嗎

不一定,這個負整數要在int的范圍內
int型範圍在 -32768到32767之間

⑺ 為什麼c語言負數是以補碼形式存放的

以-1和+1相加為例子。
一個位元組,如果是負數,它是255,如果是正數,它是
-1。
255+1
=
256(1,0000,0000)
-1+1
=
0(0,0000,0000)
因為加到256後並不會真的進位,而是把op置位。所以整負數相加的問題很多地方都可以不去理會了。不用真正去區分正負了,只要依據最後需要的類型去處理結果就可以。

⑻ C語言如何表示正負值問題

c語言有兩種數據類型,一種是整型,一種是浮點型 ,整型類型一般用的原碼表示,浮點類型一般用的IEEE754標准進行編碼。

整型數中原碼表示正負數,取最高位為符號位,以8位二進制數來表示1和-1。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,則表示是一個負數。

⑼ c語言中負數是按補碼存儲,怎麼讀出來哪

本質是,都是二進制數,或者是十六進制數。
舉個例子:
-1,在16位CPU中,用補碼表示,則為1111 1111 1111 1111,或者0xFFFF。

在C語言中,如果定義為無符號數,則0xFFFF讀出來就是65535,
如果定義為有符號數,則0xFFFF讀出來就是-1。

同樣的二進制數,類型不同,解釋出來的結果也不同。