A. C++問題整形的取值范圍問題
你的書太舊啦
那時候 PC 一般用 dos 或者 windows 早期版本(win95 以前),操作系統是內 16 位的,默認 int 也是 16 位的,一般採用補容碼,取值范圍 -32768 ~ +32767
現在的 PC 一般用 32 位操作系統,int 也是 32 位的,取值范圍 -2^31 ~ +2^31-1
B. c程序中基本整型的取值范圍:-32768~32767是怎麼算出來的
整型在你那個版本里是佔用兩個位元組來存儲的,每個位元組8位,也就是16位的2進制,大家知道版這樣一個2進制數總是對權應著一個正數。
但是要表示正數和負數該怎麼辦,聰明的科學家在限制的2進制數位數的前提下採取了補碼(演算法及詳細見補碼)的形式來存儲負數。
第一位是符號位,也就是用它來表明這個數的符號(正數:0 負數:1)所以int型的最大正數為0111111111111111(15個1),其取值為2(15)-1,就是2的15次方減一,即32768-1=32767。
最小負數:1000000000000000,按照補碼的運算,得這個2進制數對應的十進制為-32768,這樣也解釋了為什麼最大正數與最小負數的絕對值差1。
C. c語言整數變數類型的取值范圍是什麼意思
C 語言的數據基本類型分為字元型、整型、長整型以及浮點型,取值范圍如下:
整型內變數是容一種計算機語言。在C語言中,整型變數的值可以是十進制,八進制,十六進制,但在內存中存儲著是二進制數。變數顧名思義是數值可以變的量,整型變數表示的是整數類型的數據。
變數自然和常量是相對的。常量就是 1、2、3、4.5、10.6......等固定的數字,而變數則根我們小學學的 x 是一個概念,我們可以讓它是 1,也可以讓它是 2,我們想讓它是幾是我們的程序說了算的。
我們小學學的數學里邊,有這么幾類,正數、負數、整數和小數。在 C 語言里,除名字和我們數學里學的不一樣外,還對數據大小進行了限制。
D. c語言中長整型和整型的范圍
1、c語言中長整型常量:的數值范圍最小是十進制的-2147483647~+2147483647,在計算機中最少佔用4個位元組。內位元組長度跟操作系統和編譯器容有關,longint長度至少32位,而64位類Unix系統為64位。
2、c語言中整型常量:是通常的整數,包括正整數、負整數和0,其數據類型顯然是整型。整型常量內存大小和數值范圍取決於編譯器。
(4)基本整形的取值范圍怎麼算的擴展閱讀
c語言中VB中的長整型
VB中整數類型有兩種:Integer和Long,都是有符號的整數
Integer變數存儲為16位(2個位元組)的數值形式,其范圍在-32,768至32,767之間。Integer的類型聲明字元是百分比符號(%)。
Long(長整型)變數存儲為32位(4個位元組)有符號的數值形式,其范圍從-2,147,483,648到2,147,483,647(約為21億)。Long的類型聲明字元為和號(&)。
E. 關於整型數據取值范圍
因為計算機中的整型一般用2個位元組表示,即16位。第一位表示正負符號,所以負數最小是可以達到,2的15次方負值,正數部分雖然也可以有2的15次方個數值,但數值0佔了一個,所以最大正數值為2的15次方減一。
在計算機內,定點數分為有符號數(signed)和無符號數(unsigned)。其中,有符號數的表示方法有三種:原碼、反碼和補碼。反碼表示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
計算機的字長為n位,n位二進制數的最高位為符號位,其餘n-1位為數值位,採用補碼表示法時,可表示的數X的范圍是 -2的次冪≤X≤2的次冪-1。
(5)基本整形的取值范圍怎麼算的擴展閱讀:
常見數據類型存儲空間大小與范圍:
1、Byte(位元組型)用1個位元組表示,數值范圍: 0 - 255
2、Boolean(布爾型/邏輯型) 用2個位元組表示,數值范圍:True 或 False
3、Integer(整數型) 用2個位元組表示,數值范圍:-32,768 ~ 32767
4、Long(長整形)用4個位元組表示,數值范圍: -2,147,483,648 ~ 2,147,483,647
5、Single(單精度浮點型)用4個位元組表示,數值范圍:
負數范圍:-3.402823E38 ~ -1.401298E-45
正數范圍:1.401298E-45 ~ 3.402823E38
6、Double (雙精度浮點型) 用8個位元組表示,數值范圍:
負數范圍:-1.797,693,134,862,32E308 ~-4.940,656,458,412,47E-324
正數范圍:4.940,656,458,412,47E-324 ~1.797,693,134,862,32E308
F. 關於C語言中整型變數取值范圍的問題
雖然有16位,但最高位是符號位。最高位為1時說明是負數,為0時表示正數。
即最大內的正數的而二進容制數就是第一位是0後面15個1:011111111 11111111
對應的十進制數就是2^15-1,而其一為為1其餘的全是0時即10000000 00000000表示最小的負數,十進制就是2^-15
G. c語言整形數值取值范圍為什麼有負數
整數 分為正整數 負整數 0
如果用最高為做符號位的話 c語言里就會出現負數
使用sizeof(類型) 來確定范回圍
sizeof(int) 如果等於答4的話 那麼表示4*8=32 bits 2^32=4294967296
int 范圍就是-2147483647~2147483648
sizeof(int) 如果等於2的話 那麼表示2*8=16 bits 2^32=65536
int 范圍就是-32768~32768
同樣的類型在不同編譯器里大小不同~~
H. 整形數取值范圍怎麼求來的
這是因為一般計算機中採用"補碼"存儲數據,整形數是32位的版,負數中最小的是-2^31,正數中最大權的是2^31-1
詳情請參考網路「補碼」http://ke..com/view/377340.htm
I. c語言中整型數據的取值范圍是怎麼確定的
這個你要明白整型在計算機中的存儲原理--補碼形式存儲,舉一個類吧,short 所佔位數是16位,即
其中要說明的是最大整數 (0111111111111111)計算方法
0111111111111111 即相當於16進制的7FFF,轉換為10進制後是 32767
最大負數:1000000000000000,由於最高位是1,判斷為負數,用求補碼的原理,按位求反+1
即 反碼 0111111111111111 補碼 100000000000000 轉換為10進制 32768 補回符號
-32768
其它的同樣計算
J. c語言中,基本整形,取值范圍-32768到32767什麼意思
就是說如果你定義一個整型變數,數值為32768,那麼就會出現運行錯誤,因為你賦的數值超過了它本身的最大數值,最小也是一樣的意思