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

c語言里輸入負數是什麼類型

發布時間: 2022-07-15 14:15:36

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

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

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

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

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

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

3. c語言中如何利用scanf輸入負數

C語言中用scanf()輸入負數和輸入整數是一樣的,舉個例子int a;

scanf(&a);把輸入的數存入變數a中 , 這個int就是有符號整形數,既可以是負數也可以是正數, 如果你定義成unsigned int a ;那麼就只能輸入正數了,因為是無符號的也就是范圍是大於等於0的。

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

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

負數的補碼:

1、先取絕對值|x| ;

2、對|X|+1 ;

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

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

(4)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。

5. 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,則表示是一個負數。

6. C語言中用unsigned表示負數

剛才在TC2.0里測試了這個程序,發現的確如樓主所說,看來是TC的問題,它在列印的時候似乎沒有理會C的類型。而在GCC下結果是c=65523
所以是什麼類型無所謂,只是溢出以及printf解析時有區別。65523按負數解析實際就是 -13
///一下引自CSDN
數值在內存中存儲時只是一串二進制數字,沒有正與負之分的,所謂的正與負是看如何去解釋這個二進制串,你在輸出的時候按照%d的方式輸出,就是告訴printf函數,輸出這個數字的時候解釋成int類型,你定義的變數的類型是給編譯器看的,而變數本身只是一個四個位元組的內存空間,你想讓它後來解釋成什麼類型就解釋成什麼類型。你可以將c程序編譯成asm程序看看,就知道,int i;和unsigned int i;之間的差別了

7. C語言大神謝謝。。。。。 1、計算機里怎麼表示負數,為什麼這樣表示 2.、在char類型里為什麼-128最小,

1.負數在現代計算機里一般用補碼表示,為什麼呢?原因是:保證0的左右不矛盾
1是0001,推算出0是0000;
-1的是1111,推算出0也是0000。
如果直接用反碼(0變成1,1變成0)那麼0就會有兩個結果。
如果用第一位表示符號,後三位表示大小,那麼就有空間浪費。
2.char類型是8位,1000 0000還原為原碼:
最高位是1,表示負數,剩餘的各位取反 111 1111 再+1 得到 1000 0000, +128的原碼,整個數為-128

8. c語言中負數如何表示

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

9. C語言中是直接輸入負數的嗎

是的,可以直接輸入負數。

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。

簡介

C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編語言代碼生成的目標程序效率低10%-20%。因此,C語言可以編寫系統軟體。

當前階段,在編程領域中,C語言的運用非常之多,它兼顧了高級語言和匯編語言的優點,相較於其它編程語言具有較大優勢。計算機系統設計以及應用程序編寫是C語言應用的兩大領域。同時,C語言的普適較強,在許多計算機操作系統中都能夠得到適用,且效率顯著。



10. C語言程序設計中要求輸入非負數,那應該規定是什麼類型呢%f會有負數,%u又只能輸入整形

定義成整形或實型,看需要,十進制有符號數,輸入之後判斷是否大於0,否則再次輸入