小屋創作

日誌2017-02-12 00:34

【C++演算法】十進位轉二進位(bitset & 迴圈寫法)

作者:朔哥

十進位轉二進位

有人在問十進位轉二進位的城市怎麼寫
你大可以用bitset內容如下
雖然很簡潔,在印出上也很陽春,用C寫更快
你可以用bitset做出來結果存在vector再去做印出設計
語法參考:
http://www.cplusplus.com/reference/bitset/bitset/
看不懂英文去旁邊蹲
程設新手不建議這樣寫
當然,十進位轉二進位寫法很多
我介紹其中一種。。。
演算法較直接
我們寫一個function作正數
再寫一個做負數
都是一~二個迴圈解決

先作正數,演算法寫出來直接印
function bin

視情況調整陣列值
印出僅供參考
我們地˙一個迴圈從最後逆過來存餘
(這樣就不用逆轉了)
每一次值/2
除之前不用要忘記要先把榆樹存給number陣列




接下來做負數
先轉正在轉二進位


再來從最後一個元素(索引值為15)逆回來檢查
如果碰到1
索引值存給 k
索引值從k-1開始
0轉1 , 1轉0


最後印出


測試結果

弄成函式的原因是
main就變得相對簡潔
可以弄個標頭檔放這兩個函式
這樣這支程式就可以在擴充


以上
有關自訂義標頭檔與更多禁制轉換(3進、5進、20進等)都給問


BUG & 問題回報
可寄站內信、在底下留言或到我私人FB詢問
https://www.facebook.com/creeperking

3

1

LINE 分享

相關創作

LeetCode - 1492. The kth Factor of n 解題心得

[達人專欄] [ OpenGL 入門到入土 # 2] Compute shader、GPU Instance、DrawIndirect與實作Frustum culling

Gard of War漫畫翻譯-[HololiveEN短漫]不是只有數學

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】