㈠ 整型、短整型、長整型的區別是什麼
它們都是數據類型的一種,區別就在與取值范圍,和bit大小不一樣,針對不同取值,應用不同的數據類型變數。
整型(INTEGER)數據是不包含小數部分的數值型數據,用字母I表示,整型數據只用來表示整數,以二進制形式存儲。
短整型的二進制位長是16,長整型的是32位。就是說長整型可以表示位數更多的整數。短整型所能表示的整數的值域為-32768~32767。
長整型則為-2147483648~2147483647。例如,如果有個數為32780,那麼它只能用長整型表示,而不能用短整型表示。
長整型是程序設計中數據類型的一種表現方式,通常用long 表示長整型,long 有符號64位整數 范圍是-2^63-2^63 -1 Int64unsigned long 無符號64位整數 0-2^64-1 UInt64。
拓展資料
整型是計算機中的一個基本的專業術語。整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(- 或者 +)。是一種智能的計算方式。
int 是 C 語言的基本整數類型,可以滿足我們處理一般數據的需求。C 語言還提供了四個可以修飾 int 的關鍵字:short、long、signed,以及 unsigned。利用這四個關鍵字,C 語言標準定義了以下整數類型:
short int(可簡寫為 short),和 int 一樣,也是有符號整數
long int(簡寫:long),有符號整數
long long int(簡寫:long long),C99 標准添加的類型,有符號整數
unsigned int(簡寫:unsigned),無符號整數,不能表示負數
unsigned long int(簡寫:unsigned long),無符號整數,不能表示負數
unsigned short int(簡寫:unsigned short),無符號整數,不能表示負數
unsigned long long int(簡寫:unsigned long long), C99 添加的類型,無符號整數
所有沒有標明 unsigned 的整數類型默認都是有符號整數
㈡ 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。
㈢ 無符號整型轉換有符號整型(C高手進)
①這是無符號整形轉為有符號整型的溢出問題.
無符整型42486轉化為二進制是:1010,0101,1111,0110,因為計算機存儲內數據是以二進制容形式的,當把它做為有符整型輸出時,轉化方式是這樣的:最高位(第十六位)是1時,是負數,其餘位減1按位取反,就成:
-101101000001010,再轉為十進制,就是:-23050
②此數是十六進制,完全正確,上面列出了它的二進制形式,1010為A,0101為5,1111為F,0110為6.你可以用windows的計算器轉化一下.
㈣ 無符號整型和有符號整型如何相互轉換(一道題目),忘高手求教,謝謝
int a;
unsigned b;
a=-10; /*a的二進制碼為(1111 1111 1111 0110)回2=(-10)10,因為a是有符號整答數*/
b=a; /*b的二進制碼為(1111 1111 1111 0110)2=(65526)10,因為b是無符號整數*/
printf("%d,%u/n",a,b);
b=65521;/*b的二進制碼為(1111 1111 1111 0001)2=(65521)10,因為b是無符號整數*/
a=b;/*a的二進制碼為(1111 1111 1111 0001)2=(-15)10,因為a是有符號整數*/
printf("%d,%u/n",a,b);
你看看數的二進制存儲那部分就明白了
負數存的是補碼,正數存的是原碼
㈤ 求問有符號整形怎麼用C語言表達
long int (int可以省略抄)聲明相對較長的整型變數襲(一般用於存儲較大數值的整形變數)
int 聲明一個介於short和long之間的整形變數
unsigned int 聲明一個無符號的int類型變數(無符號即0和整數)
unsigned long 聲明一個無符號的long類型變數
unsigned short 聲明一個無符號的short類型變數
1、為了確定變數所佔的內存空間。
以一般16位機器為例:
short和int 佔2位元組,即16bit。 0000 0000 0000 0000
long 佔4位元組 即32bit。 0000 0000 0000 0000 0000 0000 0000 0000
unsigned佔用的空間與它同類型的相同。如:
unsigned long 佔4位元組。
2、確定所佔空間中首位表示數字還是符號
㈥ 無符號整型與無符號短整型區別
如果unsigned int和unsigned short int的位數都是16位,那麼沒有區別
在普通windows環境中unsigned int是32位整型數據
㈦ 符號的區別在整型int中,存在有符號型和無符號型
看在什麼語言裡面,沒有絕對的答案
c語言中確實有這個區別。int
是整數類型,用於定義變數的類型,有符號,unsigned
int
是無符號的整數類型,直白點說有符號無符號整型就是能不能存放負數。
㈧ 有符號整型數據和無符號數據類型是什麼
整型有無符號(unsigned)和有符號(signed)兩種類型,在默認情況下聲明的整型變數都是有符號的類型(專屬char有點特別),如果需聲明無符號類型的話就需要在類型前加上unsigned。
無符號整型和有符號整型的區別就是無符號類型可以存放的正數范圍比有符號整型中的范圍大一倍,因為有符號類型將最高位儲存符號,而無符號類型全都儲存數字。
(8)整形符號擴展閱讀
無符號數只表示大小,有符號數最高位(二進制情況下最高位表示符號位),在同一操作系統下,有符號數和無符號數的最大數值在大小上的關系是2*x+1(x表示有符號數的最大值,2*x+1表示無符號數最大值)。二者表示的數據范圍大小是相同的,但是范圍不同。
參考資料來源:網路—無符號整型
㈨ C語言中有符號整型和無符號整型的區別
有符號整形最高位表示符號,因此范圍是 -32768 到 32767,而無符號整形最高位與符號無關也是用來記錄數據用的,因此范圍是:0 到 65535