16位帶符號整數為什麼是

2022-01-18 12:39:47 字數 4507 閱讀 2718

1樓:匿名使用者

若帶符號,則最多可以表示:2^15-1個數↑錯!是2^16個數。除非你把0x0000排除。

根據等比數例求和公式 ……

↑沒必要這麼複雜。

_天上人間_說的基本正確。

n位的p進位制型數對應p^n個不同的資訊。符號型整形數的第一個位是符號位,但不影響數值的總和。因為已經保證整型數中沒有任何一個範圍內的數重複的int來表示。

所以16位二制數表示2^16個不同的數。由符號型整形數的編碼約定(非負數取原碼,負數取補碼(按位求反後的結果加一),多出來的+0(符號和數值位都是1,這裡是0xffff)表示2的數值位次冪的相反數,這裡是-2^(16-1)=-32768),0x0000為0……0x7fff為32767,0x8000為-32768,0x8001為-32766……0xffff為-1。

2樓:騰詩弓星暉

剩下15位二進位制數的最大值是每一位數都是1的情況,即2^15-1=32767。32768化成二進位制為1000

0000

0000

0000,對於帶符號整數來說就是-0。

3樓:

16位,剛好是兩個位元組

一個位元組有八個字長

若帶符號,則最多可以表示:2^15-1個數從-32768到32767

若要表示這個範圍外的5位數或更大的數,則需要增加位元組~~

4樓:

首先,我們來研究一下,最大整數

01...1後面15個1,其值=2^14+2^13+...+2^0根據等比數例求和公式

,sn=a1+a2+...+an

sn=a1(1-q^n)/(1-q)

顯然 此刻 a1=1, q=2, n=15所以2^15-1

但是總共能表達 2^16-1個數。。。。所以負數就是。。。

5樓:_天上人間

兄弟.你說的那是計算機2進位制碼.每位上只能取0,1.

換算成10進位制的就是你題中說的那麼多啦.

至於怎麼換算:

10進位制的17位數的最小值是什麼?

是1*10^16吧.

二進位制也一樣啊.

2進位制的17位數的最小值就是1*2^16

那1111111111111111不就等於2^16-1嘛.

但是現在要帶符號,符號是要佔掉一位的.

就剩15個位置了.

所以就變2^15-1了.

-32768換成二進位制佔了符號位了,為何不是-32767?

6樓:匿名使用者

你算錯了吧

-32768的補碼是 正好是(按照16位來算)1000,0000,0000,0000

補碼是絕對值的二進位制每一位取反在加1

-32768絕對值 是 32678

二進位制形式是

1000,0000,0000,0000

每位取反

變成0111,1111,1111,1111在加1正好1000,,0000,0000,0000所以他正好-32768啊

7樓:匿名使用者

在16位機上,整數型別佔2個位元組,有符號數的表示範圍為:-32768~32767

二進位制表示資料,用首位表示符號位,其餘位來表示數值,這種方法表示出來的數稱為原碼。 但這樣會出現「正0」和「負0」資料,與現實中數的應用不符,而且,用原碼也不方便計算機進行運算。所以,科學家們提出了補碼概念,用來在計算機中儲存整數。

規定:正數的補碼與原碼相同

0的表示形式為000...000 (16位全是0)負數的補碼為反碼加1

按此規定,「負0」就變成了-32768

-1  = 1111111111111111-2 =  1111111111111110-32768=1000000000000000這是推算的結果,也可以說是規定的結果

16位二進位制有符號整數的表示範圍是—32768到32767(共65535個數),這裡面的—3276 40

8樓:我才是淡淡

這個數是規定的,如果沒有這個規定,補碼1000 0000 0000 0000的反碼是1111 1111 1111 1111,原碼是1000 0000 0000 0000,也就是-0,-0和0相等。而0000 0000 0000 0000也是0,所以規定1000 0000 0000 0000表示-2^15=-32768

9樓:匿名使用者

二進位制 2^15次方 等於32768

共65536個數 你忽略了0

10樓:匿名使用者

16位二進位制數的範圍如下:

0000 0000 0000 0000 ~ 1111 1111 1111 1111

算成十進位制就是 0~65535

把最高位看做+、-號,其餘十五位的範圍,就是0~32767.

-1 ~-32768

11樓:匿名使用者

補碼的規則可以表示為:除了最高位以外,第 n 位如果為 1 ,對應的值是 2 的 n 次方(注意 n 的取值從 0 開始)。如果最高位是第 m 位,那麼最高位的值是 2 的 m 次方的相反數。

例如十六位二進位制數 0000 0000 0000 0001 只有第 0 位是 1,對應的值是 2 的 0 次方即 1

十六位二進位制數 0000 0000 0000 0011 只有第 0 位和第 1 位是 1,第 0 位對應的值是 2 的 0 次方即 1,第 1 位對應的值是 2 的 1 次方即 2,整個二進位制數表示的值就是 1 + 2 即 3

十六位二進位制數 1000 0000 0000 0000 只有最高位(第 15 位)是 1,對應的值是 2 的 15 次方的相反數,也就是 -32768

另外 -32768 到 32767 算上 0 的話一共是 65536 個數

已知16位有符號整數表示範圍是-32768-32767,則32767加上1等於多少,我要知道怎麼求的

12樓:煲水的魚

一般在計算機上的話應該是-32768的結果。

原因的話:

32767二進位制:0111 1111 1111 1111b32767加上1,運算電路將該值修改為:1000 0000 0000 0000b(注意一般無特殊保護邏輯的電路不能區分符號位,所有位一視同仁)

當軟體讀取該值時,由於符號位(最高位)為1,於是將其視為補碼(計算機中以補碼儲存負數),於是對其取原碼得到上述值。

int 形的整數的取值範圍為什麼是-32768-32767而不是-32767-32767

13樓:匿名使用者

0xffff是最大十六位數 ,由於最高為符號所以最大的正數為0x7fff,最高位為0,0x7fff = 32767。 如果為負數,則最高位為1,對應的最小負數0x8000,去掉最高符號位,變成0x0,取反得到0xffff,0xffff = 32768,所以為-32768 負數是以補碼存放的,所以有一個取反的過程 。

14樓:真冰刀雪劍

對於有符號的整數,用補碼錶示的話,比如說8位(即char,byte型別的),最高位是符號位,下面7位用來表示資料.

那麼,表示正數的話,表示的範圍為00000001-01111111,也就是說,8位表示正數,最高只能是127,最高是符號位嘛,是不能用的.

表示0:00000000

下面表示負數,相信你應該知道表示的方法,即補碼是原碼取反加1,聽起來有點複雜,算起來更不簡單,其實是這樣的:cpu的加減法運算,其實是迴圈進行加減的,即當其由00000000加到11111111時,如果再加1,就又會為00000000了,只不過溢位暫存器會置位的.而當其由00000001減1,即為00000000,如果再減1,就會為11111111,這是什麼?

不就是-1嗎?其實就是說:以十進位制數來說,1-1=0,0-1=-1,這是顯然的,再減?

那就減吧.那麼,從00000000可以減到什麼時候呢?當然是不能與正數的補碼重合就行了,所以可以從11111111-10000000,即從-1到-128.

所以,整個範圍是-128~127.16位的,32位的,同理

15樓:勞傷痕

int資料佔用2個位元組,範圍0xffff-ox0000,一下表示的是計算機補碼

計算機資料是用補碼存取的,ox7fff表示最大的正數為:2^15-1=3267

0的補碼為0x0000,從這裡可以發現還有一個數的表示:0x8000,

計算機是這麼儲存的:10***0(15個0),你會認為是-0(原碼的表示法是對的),可是補碼錶示卻是-128,那麼和你來分析一下,補碼儲存後,顯示出來會經過計算機的處理,處理步驟如下:

0x8000首先求反為》0xffff,

在經過自加一為》0x8000,這樣,你一定以為是0了,注意這裡的符號位不變,進位後儲存在特殊功能暫存器的進位標誌位(你會組合語言就能理解的,比如微控制器學習就理解了)

我的回答是,你錯了,如果你理解組合語言,就會知道,cpu的特殊暫存器中有進位標誌位,那個位為1,所以補碼0x8000表示的數正是-2^15=-32768

C語言中無符號整數變數賦負整數為什麼不報錯,而且列印這個數也是負數

給一個無符抄號變數賦一個負數,就襲把這個 bai負數 的補碼當du 正數對待了 unsigend的級zhi別高於int 這和dao給一個浮點變數賦一個整型數時被提升為浮點型一樣 這符合c c 的自動型別轉換規則,所以不報錯。至輸出還是負數恐怕不對,除非你強制為int型輸出,否則輸出是無符號的。沒有圖...

中信銀行卡是16位數,查詢為什麼是15位數

在哪查是15位?信用卡有15位的,儲蓄卡目前都是16位 中信銀行卡賬號是16位數字 說明什麼 銀行卡分借記卡 準貸記卡 貸記卡三種,而銀行卡一般都攜帶銀聯 visa master jcb等標誌。一般以6開頭的卡是銀聯卡,以4開頭的卡是攜帶visa標誌的卡,以5開頭的卡是攜帶master的卡,以3開頭...

招商銀行金色人生金卡卡號為什麼是16位 16位不是信用卡卡號麼

您好!目前,目前信用卡和借記卡 較早發行的借記卡是8位 基扮褲本都是16位賬號。廳帆簡是信用卡還是借記卡,不看賬號位數,要看bin號,即卡號前六位轎物。招商銀行的電子借記卡卡號為什麼是16位的?而其他銀行的卡號是19位的?您好!卡號位數取決於該行的髮卡數量等因素,一般髮卡量大的銀行卡號位數會較多。卡...