[英]Conversion from 32 bit binary string to int 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:“可以指定'-'符號以指示負值”。 為什么前兩個二進制字符串不同?
這就是兩者的互補作用。 要取一個數字,它會將所有位取反,並將結果加1。
示例: 否定 11110001 ----------> 00001111
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.