Re: [問題] 想做一個10進制轉2進制的簡單計算機

看板C_Sharp (C#)作者 (J.)時間11年前 (2014/06/06 06:24), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《neo5277 (I am an agent of chaos)》之銘言: : 各位好我剛開始練習寫程式 : 我想做一個轉換用計算機 : 藉由這個程式的建立來讓我理解,程式運作的跟設計的流程。 : 我在windows form 專案底下 : 使用了 兩個text box 還有label : 也做了一些名稱上的改動。 : 看起來像這樣 : http://ppt.cc/gGP~ : 但是我不道該如何開始寫程式碼(攤手) : GOOGLE了一些教學,我發現一個函數應用方法是。 : Convert.ToString(int1, 2); : 不過這是直接用來轉換,顯示出來好像跟我的需求不太符合 : 所我思考的模式是 : 關於TEXT A \\左邊 : 我是否應該,先宣告一個類別? : 好比說叫做十進位,然後底下再幫他加一些方法? : TEXT B\\右邊 : 純顯示 : 轉換的BUTTON : 再引用一下左邊宣告的類別 經過這個 : Convert.ToString(int1, 2); 把值送回到 TEXT B : 顯示出來呢? : 這問題可能很蠢,我用關鍵字爬了一下版上的文好像沒有人問過 : 小弟非本科出生,但是想學習程式設計。請各位前輩指點一二 : 還有需要加強的地方,我目前買的書有,visual C# 2008 從零開始 : 歐萊禮的 深入淺出 C# ver 3 以及之前推文推薦的 深入淺出 設計模式 : 目標主要還是,WPF應用,資料庫統計應用,還有跟朋友計畫RFID的東西。 : 數學也有認真的拿出來複習~~ : 希望再平常工作之於也可以轉職成功~~ : 先感謝各位 做兩個btn比較好 2->10 and 10->2 2->10的部分 string binary = "3345678";// 10101 Regex regex = new Regex(@"^[0-1]*$");//字串檢查 if (regex.IsMatch(binary)) { double decimal = 0; for (int i = 0; i < binary.Length; i++) { double sqrt = binary.Length - i - 1;//2的N次方 int num = int.Parse(binary.Substring(i, 1));//拆字串 decimal += num * Math.Pow(2, sqrt);//二進制轉換 } Console.WriteLine(decimal); } else Console.WriteLine("error binary"); Regex Class (System.Text.RegularExpressions) http://readily-notes.blogspot.tw/2010/11/regular-expression-c-regex.html -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.239.100 ※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1402007090.A.AB3.html

06/10 02:57, , 1F
!!!!高等解法 感謝你!!!!!
06/10 02:57, 1F

06/12 02:32, , 2F
要轉成除了2、8、10、16進制以外 這方法就沒用了..
06/12 02:32, 2F

06/12 02:47, , 3F
阿~ 看錯.. 不過2→10最快的方法還是Convert.To..
06/12 02:47, 3F

06/13 11:24, , 4F
恩 CONVERT 比較直接,但是大大這做法比較完備
06/13 11:24, 4F

06/13 11:24, , 5F
思考比較完整,是我不足的地方。
06/13 11:24, 5F
文章代碼(AID): #1JaEuogp (C_Sharp)
文章代碼(AID): #1JaEuogp (C_Sharp)