1. 程式人生 > 其它 >cf1142 B. Lynyrd Skynyrd(思維,樹)

cf1142 B. Lynyrd Skynyrd(思維,樹)

1、算數運算子


  • 加法:+
  • 減法: -
  • 乘法: *
  • 除法: / (注:除數不能為0)
  • 取模: % 如 5%-2=1,-5%-2=-1
  • 自加:++ (運算元的值加1)
  • 自減:-- (運算元的值減1)

2、賦值運算子


  • 賦值: = (將右側的資料賦值給左側)
  • 加等於:+=
  • 減等於:-=
  • 乘等於:*=
  • 除等於:/=
  • 模等於:%=

3、關係運算符


  • 大於: >
  • 小於: <
  • 等於: == (擴充套件:可以比較兩個物件的引用)
  • 不等於: != (擴充套件: 以比較兩個物件的引用)
  • 大於等於: >=
  • 小於等於: <=
  • 擴充套件:instanceof,作用是測試它左邊的物件是否是它右邊的類的例項

4、邏輯運算子


  • 與:&& (and)
  • 或:|| (or)
  • 非:! (not)

5、三目運演算法


語法: <表示式1>?<表示式2>:<表示式3>;

6、位運算子


位運算指的是進行二進位制位的運算。

  • 取反:~
  • 按位與:&
  • 按位或:|
  • 按位異或:^
  • 左移運算子:<< (左移1位相當於乘2)
  • 右移運算子:<< (右移1位相當於除2)

擴充套件:補碼

“補碼” 是計算機用於規劃計算的一種二進位制表示方式,定長變數空間中,使用數值的第一位來表示資料的正負,如 00000011來表示+3,而10000011來表示-3。

這些非0數值在邏輯上的表示都是沒有問題的,這種表示方法稱為源碼錶示法。但是用00000000表示+0,而10000000表示-0,則出現邏輯上的偏差,即:+0 不等於 -0。

在解決這個問題同時要滿足數學減法運算規則,a-a=0 轉化為 a+(-a)=0的規則,所以提出了補碼錶示法。

補碼的計算公式:

  • 正數:原始碼、反碼和補碼都相同。
  • 負數:補碼 = 反碼(符號位保持不變) + 1。 如 11110101+1=11110110

注:負數在計算補碼的時候,在原始碼取反的過程中要保持符號位不變,其他位取反。如:10001010取反11110101(第一個1不變)。