Java dois complementa binário para inteiro [duplicado]

Esta pergunta já tem uma resposta aqui:

número hexadecimal do complemento do @ 2 para decimal em java 3 respostas

Sei que converter um decimal em binário comInteger.toBinaryString(355) = 0000000101100011 eInteger.toBinaryString(-355) = 1111111010011101 (onde pego os 16 bits mais baixos do resultado de 32 bits

O que eu gostaria de fazer é o contrário e pegar uma string binária de complemento de dois bits de 16 bits e converter em decima

i.e.

0000000000110010 =  50
1111111111001110 = -50

Ao invés de1111111111001110 = 65486

Como eu faria isso

questionAnswers(2)

yourAnswerToTheQuestion