char c = 0xffff;//最大字串
byte b = -0x80;//最小位元組型
或byte b = (byte)0x80;
long l = -1;
system.out.println(long.tobinarystring(l));// 64個1
l >>>= 10;
system.out.println(long.tobinarystring(l));// 54個1
int i = -1;
system.out.println(integer.tobinarystring(i));// 32個1
i >>>= 10;
system.out.println(integer.tobinarystring(i));// 22個1
byte b = -1;
// 位元組型-1提公升到整型-1,所以結果為32個1
system.out.println(integer.tobinarystring(b));// 32個1
// b先提公升到int 即在原來8個1前再補24個1,然後無符號右移,再截最後8位並賦值給b
b >>>= 10;
// b會先提公升為int,再運算`
system.out.println(integer.tobinarystring(b));// 32個1
b = -1;
// 不使用 >>>= 時,結果為正確,雖然在執行前b提公升為int,但計算後沒有截斷,直接輸出整型結果
system.out.println(integer.tobinarystring(b >>> 10));// 22個1
/*
* 計算表示式中如果都整型數常量,則計算過程中還是整型,這有可能引起計算
* 溢位問題,但編譯與執行都不會報錯,對於此種情況,在表示式中的某個常量
* 後加上l即可使表示式計算過程中以long型來計算
*/long l = 2147483647 * 2;// -2
l = 2147483647l * 2;// 4294967294
// 編譯執行都不會錯
int i = 2147483647 * 2;// -2
// !! 以下編譯時就出錯
// short s1 = 32767 * 2;
// byte b1 = 127 * 2;
// short s2 = 16384 * 2;
// byte b2 = 64 * 2;
// short s3 = 2147483647 * 3;//乘以奇數就不行,偶數就可以?
// byte b3 = 2147483647 * 3;
// 但下面可編譯執行
short s = 2147483647 * 2;// -2
byte b = 2147483647 * 2;// -2
第三章筆記
第三章預習筆記 一 高階語言和機器指令中的運算 1,按位運算 符號 按位or運算 符號 按位and運算 符號 表示按位not運算 符號 按位xor運算。實現掩碼操作 通過與給定的乙個位模式進行按位與,可以提取所需要的位,對這些位進行 置1 清0 等。2,符號 按位or運算 符號 表示and運算 符號...
程式設計珠璣第三章
第三章寫的有點太簡單了,可能作者是想在後面章節裡再詳細說吧!這一章就是作者說的幾句話印象還是很深刻。程式設計師在節省空間方面無計可施時,將自己從 中解脫出來,退回起點並記者並集 中精力研究資料,常常能有奇效。資料的 表示形式是程式設計的根本。正如人月神話的作者說 只要給我你設計的表,我就對你的程式一...
第三章 函式程式設計
函式是一段具有特定功能的 可重用的語句組,用函式名來表示並通過函式名進行功能呼叫。函式也可以看作是一段具有名字的子程式 特性 1.減少重複 2.使程式變的可擴充套件 3.使程式變得易維護 語法定義 def sayhi 函式名 print hello,i m nobody sayhi 呼叫函式 可以帶...