1. c語言中32位有符號整數如何定義
根據計算機系統、編譯系統的不同,32位有符號整數的定義會略有差異,通常的做法是把長整型(long)數據定義為32位,int型可以是16位,也可以是32位。
C語言中沒有具體規定各類數據所佔的位元組數,只要求long型數據長度不短於int型,short型不長於int型。具體如何實現,由各計算機系統自行決定。例如在Turbo C++中,int型和short型數據都是16位的,而long型數據是32位的。而Visual c++6.0的int型數據或是long型數據都是32位的,其short型數據分配的是16位。
C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括一些類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
(1)c語言有符號整數擴展閱讀:
C語言特點:
1、廣泛性。C 語言的運算范圍的大小直接決定了其優劣性。C 語言中包含了34種運算符,因此運算范圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。此外,C 語言包含了字元型、指針型等多種數據結構形式,因此,更為龐大的數據結構運算它也可以應付。
2、簡潔性。9 類控制語句和32個KEYWORDS是C語言所具有的基礎特性,使得其在計算機應用程序編寫中具有廣泛的適用性,不僅可以適用廣大編程人員的操作,提高其工作效率,同 時還能夠支持高級編程,避免了語言切換的繁瑣。
3、結構完善。C語言是一種結構化語言,它可以通過組建模塊單位的形式實現模塊化的應用程序,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的編程要求,且執行效率高。
參考資料來源:
網路-c語言
網路--整型數據
2. c語言中有符號整數的取值范圍
最高位為符號位,0表示正,1表示負,而且有符號的,切16位的,除去一個最高位的符號位,剩下的數據位為15位,2的15次(有符號位)應表示為011 1111 1111 1111是這個有符號16位數能表示的最大值了。你再按這個求-2就可以了
3. c語言中的有符號整型與有符號短整型的區別
有符號整型,寫作signed int, 簡寫為int時效果相同,因為C語言默認為有符號數。
有符號短整型,寫作signed short, 簡寫為short。
在16位編譯器下,int和short都是佔2個位元組,值域為-32768~+32767。這時二者沒有區別。
在32位和64位編譯器下,二者是有區別的:
1 占空間不同。sizeof(int) = 4, sizeof(short) = 2。 即short還是2個位元組,int變成了4個位元組。
2 可表示範圍不同。
由於空間不同,short 的值域還是-32768~+32767,而int的值域則擴大到-2147483648~+2147483647。
4. c語言中,int什麼意思,什麼是無符號/有符號整型
有符號就是有-符號 可以表示負數,也可以表示正數
無符號就是沒有-符號 全部表示正數(只能表示正數)
int就是正數的意思 1 2 3 -1 -21 這些 通俗說就是不含小數的數
5. 在C語言中有符號整數和無符號整數有什麼差別
int是有符號的。
unsigned才是無符號的。
它們所佔的位元組數其實是一樣的,但是有符號的需要安排一個位置來表達我這個數值的符號是什麼,因此它說能表示的絕對值就要比無符號的少一半。
舉個例子,我們有一個1個位元組的整數(雖然這種類型不存在),那麼無符號的就是這樣:00000000-11111111 這個就是無符號的范圍。一個位元組是8位。
下面有符號的,因為第一個位要用來表示符號,那麼就只剩下7個位置可以用來表示數了
0000000-1111111
因為有符號所以還可以:-1111111-00000000
明白了嗎?
6. C語言中如何輸出帶符號的整型數字
C語言中輸出帶符號整型數字和輸出無符號整型數字一樣。
使用「%d」進行控制輸出整型數字。
例如:
#include<stdio.h>
intmain()
{
intneg=-21;
printf("%d ",neg);
return0;
}
/*===============================
輸出結果:-21
=================================*/
其他格式控制請參見:http://wenku..com/link?url=HQT30YH5HmWFEM0Fb4_-Ahy4AHRcTCFtmA4LEq0G3Aj_Q6qUhj7Wfu8l3eDg5SmB53
7. C語言中有符號基本整型[signed]int 取值范圍(-32768——32767)是怎麼算出來的
以最高位為符號位,二進制原碼最大為0111111111111111=2的15次方減1=32767最小為1111111111111111=-2的15次方減1=-32767。
此時0有兩種表示方法,即正0和負0:0000000000000000=1000000000000000=0所以,二進制原碼表示時,范圍是-32767~-0和0~32767,因為有兩個零的存在,所以不同的數值個數一共只有2的16次方減1個,比16位二進制能夠提供的2的16次方個編碼少1個。
但是計算機中採用二進制補碼存儲數據,即正數編碼不變,從0000000000000000到0111111111111111依舊表示0到32767,而負數需要把除符號位以後的部分取反加1,即-32767的補碼為1000000000000001。
補碼系統中,范圍是-23768~32767。因此,實際上,二進制的最小數確實是1111111111111111,只是二進制補碼的最小值才是1000000000000000,而補碼的1111111111111111是二進制值的-1。
(7)c語言有符號整數擴展閱讀
C語言double大小和取值范圍
佔用的位元組數:
printf("float:bytes%d;bit%d ",sizeof(float),sizeof(float)*8);
double:bytes8;bit64
取值范圍:C標准規定,double類型至少能表示10位有效數字。一些系統將多出來的32bit都來表示尾數部分,這就至少有13位有效數字了,這也超出了c規定的最小標准了。
8. C語言中有符號基本整型和有符號長整型的區別是什麼
一般有符號長整型是有符號基本型的兩倍,如果有符號基本型為兩個位元組的存儲空間,那麼長整形就為四個位元組的存儲空間
9. C語言中有符號整數的取值范圍
哎呀,查了一下,發現說錯了剛才,罪過啊!!~~二進制的負數是用補碼來表示的,就是反碼+1,反碼是把每一位(除符號位)都求反,即每位0、1互換,所得的數再加1。
0就是0000 0000 0000 0000,第一位相當於符號位,正數取0,負數取1。
0111 1111 1111 1111表示正2的15次方減一,第一位0表示正數。負2的15次方減一就是1000 0000 0000 0001,第一位1表示是負數。所以負2的15次方是1000 0000 0000 0000。大概是這么回事
10. c語言,什麼是有符號整型與無符號整型麻煩再舉個例子。謝謝
無符號整型就是
unsigned
int
如果在內存中存儲一個2進制數
1111
1111
如果是無符號整型
那麼這個數就是255
有符號的話
這個數就是
-1
長整型
如果短整型佔2個位元組
長整型佔4個位元組
短整型
能表示-2^8~2^8
長整型
能表示-2^16~2^16