當前位置:首頁 » 編程語言 » c語言賦值負

c語言賦值負

發布時間: 2023-02-27 03:09:42

c語言中無符號整數變數賦負整數為什麼不報錯,而且列印這個數也是負數

給一個無符號變數賦一個負數,就把這個「負數」的補碼當正數對待了(unsigend的級別高於int)——這和給一個浮點變數賦一個整型數時被提升為浮點型一樣——這符合C/C++的自動類型轉換規則,所以不報錯。至輸出還是負數恐怕不對,除非你強制為int型輸出,否則輸出是無符號的。

⑵ 在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語言中負數如何表示

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

⑷ 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語言擲骰子 發布:2024-05-17 02:11:05 瀏覽:488
eclipsepython調試工具 發布:2024-05-17 02:10:49 瀏覽:819
oracle創建表sql語句 發布:2024-05-17 02:06:38 瀏覽:251
手機建立文件夾 發布:2024-05-17 01:56:19 瀏覽:655
方舟伺服器怎麼綁定賬號 發布:2024-05-17 01:52:32 瀏覽:734
運行javajar 發布:2024-05-17 01:29:14 瀏覽:14
怎麼找回訪問密碼 發布:2024-05-17 01:22:45 瀏覽:747
吉林蘋果伺服器網路時間地址 發布:2024-05-17 01:21:29 瀏覽:213
dns緩存ros 發布:2024-05-17 01:20:45 瀏覽:914
壓縮機油洗 發布:2024-05-17 00:59:44 瀏覽:171