#22514: 概念提示


snakeneedy (蛇~Snake)

學校 : 國立高雄師範大學附屬高級中學
編號 : 7661
來源 : [114.40.8.251]
最後登入時間 :
2023-01-25 19:16:06
a034. 二進位制轉換 | From: [218.161.41.139] | 發表日期 : 2020-09-11 13:39

大略點一下十進位轉二進位,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)) 就解決了 (´_ゝ`)

 
ZeroJudge Forum