當前位置:首頁 » 編程語言 » 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,則表示是一個負數。

熱點內容
安卓忘記屏幕時間怎麼辦 發布:2024-11-07 20:46:08 瀏覽:180
酒店伺服器異常怎麼辦 發布:2024-11-07 20:46:03 瀏覽:805
電視買什麼牌的什麼配置好 發布:2024-11-07 20:41:55 瀏覽:652
光遇安卓用什麼拍視頻比較好 發布:2024-11-07 20:23:02 瀏覽:991
華為雲伺服器搭建網站 發布:2024-11-07 20:22:39 瀏覽:251
手機刷安卓卡需要注意什麼 發布:2024-11-07 20:21:09 瀏覽:23
塊存儲客戶端 發布:2024-11-07 20:12:14 瀏覽:972
scratch打地鼠編程 發布:2024-11-07 20:06:41 瀏覽:211
微信存儲空間里聊天記錄刪除 發布:2024-11-07 20:05:31 瀏覽:166
無損壓縮格式有哪些 發布:2024-11-07 19:54:40 瀏覽:932