Java Two uzupełnia binarnie na liczbę całkowitą [duplikat]

To pytanie ma już odpowiedź tutaj:

2 uzupełnia liczbę szesnastkową do dziesiętnej w java 3 odpowiedzi

Wiem, że konwersja dziesiętnej na binarną za pomocąInteger.toBinaryString(355) = 0000000101100011 iInteger.toBinaryString(-355) = 1111111010011101 (gdzie biorę niższe 16 bitów wyniku 32-bitowego).

Chciałbym zrobić to w drugą stronę i wziąć 16-bitowy ciąg binarny z dopełnieniem dwójki i przekonwertować na dziesiętny.

to znaczy

0000000000110010 =  50
1111111111001110 = -50

Zamiast1111111111001110 = 65486

Jak mam to zrobić?

questionAnswers(2)

yourAnswerToTheQuestion