0
Почему этот кодПреобразование из 32 разрядной двоичной строки в целое Java
public static void main(String[] args){
// | | | | | | | |
int N = (int)Long.parseLong("10110011001100111111001111111100", 2);
System.out.println(Integer.toBinaryString(N));
N = Integer.parseInt ("-0110011001100111111001111111100", 2);
System.out.println(Integer.toBinaryString(N));
N = Integer.parseInt ("+0110011001100111111001111111100", 2);
System.out.println(Integer.toBinaryString(N));
}
Выходы:
10110011001100111111001111111100
11001100110011000000110000000100
110011001100111111001111111100
Javadocs: "Символы '-' знак может быть определен, чтобы указать отрицательные значения". Почему первые две бинарные строки отличаются?
Ну, вот как работает дополнение до двух – fge
http://en.wikipedia.org/wiki/Signed_number_representations#Two .27s_complement –
Что вы ожидали от этого? –