2017-03-05 747 views
1

我一直在閱讀幾個網站,但沒有一個對我有意義。有符號和無符號二進制數與有符號和無符號變量相同。如果你能幫忙,我會很高興:)有符號和無符號二進制之間的區別是什麼

+0

帶符號和無符號二進制表示依賴於二進制表示的符號的轉換。而對於變量,它指的是讓變量能夠存儲負值。 – Smit

+0

但是有符號和無符號二進制之間有什麼區別? –

回答

1

的「簽名」指標是指該項目可容納正值或負值。 「無符號」不區分正值和負值。有符號/無符號變量可以指任何數字數據類型(如二進制,整數,浮點數等)。每種數據類型可能被進一步定義爲有符號或無符號。

例如,一個8位有符號二進制可以保存0-127的值,包括正值和負值(1位用於符號,7位用於值),而8位無符號二進制可以保存值從0-255(沒有任何區別值應該被認爲是正值還是負值,儘管它通常被認爲是正值)。

簽名二進制文件是簽名變量的特定數據類型。

希望有幫助!

+0

所以,我說得對, –

+0

這個簽名可以代表正數和負數 –

+0

@ R.M.R。是的,簽名可以代表正面和負面的數字。 –

0

帶符號和無符號二進制指的是取決於所代表的二進制符號的轉換。而對於變量,它指的是讓變量能夠存儲負值。

在Binary for signed bit:我們說1是負數,0是正數。所以如果你看到第二個例子,第一位是1意味着什麼? - 對,它的否定。而我們不包括它的轉換base2到base10。

例如:1001 在無符號位(不關於符號保健):9

例如:1001 在簽名位(MSB是符號位):-1

對於變量是它很可能存儲負數。

MSB:最高有效位

+0

但是有符號和無符號二進制之間有什麼區別? –

+0

閱讀答案你應該知道差異。 – Smit

+0

對不起,我很尷尬,但我仍然不明白? –

1

「signed」變量表示該值使用最高有效位(最左邊的位)保存正值或負值,這就是我們所說的「有符號位」。一個「無符號」的變量不會,但是最重要的一點就是他的下一個權力。

我們稱一個負數的符號位爲1,而在一個無符號數上這個位將落入正常的二進制位規則之下。

例如最大值是這樣的:
無符號字符0b11111111(0xFF的十六進制)= 255十進制,(128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255)
簽名Char 0b11111111(十六進制中的0xFF)=十進制中的-127,(-1 *(64 + 32 + 16 + 8 + 4 + 2 + 1)= - 127)

此外,您可能會在代碼中看到:
無符號字符0b10000001(十六進制0×81)=十進制129,(128 + 1 = 129)
符號字符0b10000001(十六進制0×81)= - 1在十進制,( - 1 * 1)

(注:char是一個字節,這意味着它在二進制八位數可以改變)
(的人誰不知道,0B表示該位是二進制和0X意味着它是十六進制)

相關問題