#22514: 概念提示


snakeneedy (蛇~Snake)


大略點一下十進位轉二進位,10 = 8 + 2 = (2^3) + (2^1) 即 10(十進位) -> 1010(二進位)

輸入 n 用 int,array 存每個 bit 開到 [31] 即可

求每個 bit 的方法,可以由小到大,分別對 1, 2, 4, 8 ... 取餘數
或者將輸入的數 n 每次對 2 取餘數,再將 n 除以 2 (捨棄小數點)

  • 對 2 取餘數,這裡提兩種寫法 (n % 2) 和 (n & 1)
  • n 除以 2 捨棄小數點,這裡也提兩種寫法 (n / 2) 和 (n >> 1)

最後 bit 輸出記得從高位輸出到低位,以及結尾記得換行

 

Python 竟然用 '{:b}'.format(int(s)) 就解決了 (´_ゝ`)