2013-02-18 326 views
0

這個更重要的問題,但我不能找出這一個。我認爲這將是214,但由於左邊的第一位,我不太確定。8位2的補碼11010110的十進制值是多少?

+0

注意,您至少可以在Windows 7的計算器中查看*答案*(查看>程序員,將字長設置爲字節,然後將其設置爲Bin,鍵入數字並將其設置回Dec)。 – 2013-02-18 00:55:12

回答

2

由於它是2的補碼,所以第一位表示它是負數。

該值是214-256 = -42。它也可以計算爲 - (〜214 + 1)= - (41 + 1)= -42。

二進制將是 - (〜11010110 + 1)= - (00101001 + 1)= - 00101010。

1

翻譯很簡單:

1:1。減去從X

11010110-00000001 = 11010101

2:倒轉

3:計算二進制dec(但忽略第一位)

2 + 8 + 3 2 = 42

4:記住原始值的第一比特(== 1) 如果1 =>倒轉=> -42

1

可以說它是一個負數,因爲有在最左邊的一個1位位置。一種方法可以得到幅度是反轉所有位,然後添加1

11010110 
00101001 <= inverted 
00101010 <= +1 

這個結果是小數42,所以原來的值是代表-42