-3
所以,我看到這個代碼ASCII轉換成二進制:Java中`<< ='的用途是什麼?
String s = "foo";
byte[] bytes = s.getBytes();
StringBuilder binary = new StringBuilder();
for (byte b : bytes)
{
int val = b;
for (int i = 0; i < 8; i++)
{
binary.append((val & 128) == 0 ? 0 : 1);
val <<= 1;
}
binary.append(' ');
}
System.out.println("'" + s + "' to binary: " + binary);
在這種情況下,什麼是<<=
運營商呢?此代碼如何構建s
的二進制表示?
閱讀[按位和移位運算符](http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html)。 – nhaarman
和二進制是什麼?什麼「二元表示」是?請注意,你'.getBytes()'沒有指定編碼;如果我'.getBytes(StandardCharsets.UTF_16)'我會得到不同的結果,如果我'.getBytes(StandardCharsets.US_ASCII)'。 – fge
你的參考書說它有什麼作用? –