2012-05-31 54 views
0

我學習計算機科學和我不出來的東西我自己的。二進制符號過剩

有這個數:使用-233 10位表示

什麼,我需要做的是多餘的符號來表示數字(2^n-1)

所以,我想出了:

1 base 10 = 0000000001 

2^10-1 = 1000000000 

1個基座10在我的符號= 1000000001

所以,我的-256是0000000001

而我的255是1111111110

這個符號後面的-233是什麼?

書上的結果是0 1 0 0 0 1 0 1 1 1

我的結果:0 0 0 0 0 1 0 1 1 1

希望你們能幫助我。

回答

1

,我認爲你是在正確的道路上,只是做了一個小錯誤。

由於我不熟悉的符號,我只好先來看看它。這似乎是K的選擇通常爲2 ^(N-1)= 2^9 = 512這意味着00 0000 0000 = -512和11 1111 1111 = 511,我不知道你是怎麼弄-256,也許是你的錯誤。

現在,從-512(00 0000 0000)到-233的差值爲279(01 0001 0111)。這似乎是你的例子的結果。

爲了更容易施工可以做到這一點(假設K = 2 ^(N-1)) - 實施例編號-12:

  • 使用正值(12)的二進制表示。 00 0000 1100
  • 添加K(2 ^(N-1)):10 0000 1100
  • 反轉所有位:01 1111 0011
  • 添加1(因爲零值):01 1111 0100