Re: [問題] bitset的使用方式

看板C_and_CPP (C/C++)作者 (noOneKnows)時間14年前 (2012/01/06 00:58), 編輯推噓1(1015)
留言16則, 4人參與, 最新討論串2/2 (看更多)
const char *s = "00_00_1"; // 多謝版友提醒 unsigned int res = 0; while(char t = *s++) { // char 00110000 : '0', 00110001 : '1' if(t == '0' || t == '1') res = (res << 1) | (t & 1); } 想請教一個問題,本來我的理解是 t 變數應該是在 while 結束之後, 就不見了,但是好像有遇過編譯器 while 結束後 t 還存在? (還是我又搞錯了??? XD) 可是 C++ 應該有規定這個 t 的生命週期吧? 感恩 ※ 引述《bwtalk (是黑是白)》之銘言: : 開發平台(Platform): DEV C++ : 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) : 有用到bitset : 問題(Question): : 有點崩潰.. : 由於需要將2進位字串換直接轉成10進位的整數 : 所以最後選擇用bitset : 參考了文章#1BvInMXs 以及james732大的推文 : 但對bitset的還是不了解,一直出現bug.. : 餵入的資料(Input): : 00_0000_10 : 預期的正確結果(Expected Output): : 2 : 錯誤結果(Wrong Output): : 有時候會出現↓ : This application has required the Runtime to terminate it in an unusual way. : 即使沒出現 答案也是錯的 囧 : 程式碼(Code):(請善用置底文網頁, 記得排版) : http://ideone.com/yIWoC : 補充說明(Supplement): : 這個程式是要將二進位字串轉成10進位整數 : 其中輸入的資料中,底線'_'要忽略掉,ex 00_0001_00 要輸出4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.137.131

01/06 00:59, , 1F
好像有遇過←這句話也太不確定了吧XD
01/06 00:59, 1F

01/06 01:00, , 2F
有,visual c++ 6.0, 但這套 compiler 也還是別用了.
01/06 01:00, 2F

01/06 01:00, , 3F
剛剛試了gcc,在while外是不能用t的,你也可以試試手邊的
01/06 01:00, 3F

01/06 01:02, , 4F
(res<<=1) |= t&1; 是不是也是錯的?
01/06 01:02, 4F

01/06 01:03, , 5F
謝謝,但為啥不要用 VC6??
01/06 01:03, 5F

01/06 01:04, , 6F
雖然有發現他一些 BUG,也不符合新標準,但好像還是流行
01/06 01:04, 6F

01/06 01:11, , 7F
我倒想問為什麼要選擇VC6,除了不得已的相容性問題外
01/06 01:11, 7F

01/06 01:13, , 8F
vc6有些不標準的實作、也有一些新標準沒有支援
01/06 01:13, 8F

01/06 01:27, , 9F
我以前選vc6的原因,主要是中文(簡中)資料多,且一些老專
01/06 01:27, 9F

01/06 01:28, , 10F
案是用6.0下去的.後來下定決心放棄主要除了bug外,重要
01/06 01:28, 10F

01/06 01:31, , 11F
原因還是相容性,愈來愈多軟體與vc6.0相衝突,且另一重點
01/06 01:31, 11F

01/06 01:32, , 12F
MFC 類別愈擴愈大,一些東西從頭架構根本就..放棄它吧..
01/06 01:32, 12F

01/06 01:38, , 13F
感謝~~不過什麼是跟VC6相衝??..不是出來都是 binary ?
01/06 01:38, 13F

01/06 01:41, , 14F
我的意思是,愈來愈多新的軟體,和vc6這軟體會相衝.
01/06 01:41, 14F

01/06 01:42, , 15F
謠傳有office2007↑,微軟新注音,win 7 不知會不會衝.
01/06 01:42, 15F

01/06 01:45, , 16F
原來如此~多謝指教
01/06 01:45, 16F
※ 編輯: applecool 來自: 123.110.143.10 (01/09 22:20) ※ 編輯: applecool 來自: 123.110.143.10 (01/09 22:23)
文章代碼(AID): #1F1TQgTh (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1F1TQgTh (C_and_CPP)