EE_DSnP 板


LINE

※ 引述《DoraBoy (小多啦)》之銘言: : 標題: [問題] 作業的問題... : 時間: Fri Oct 19 05:39:21 2007 : : 請問大家一下 第三題的程式是要寫說 : : 要用32位元的型態來表示可以到64位元的某個數 : : 還是說要輸入兩個很大的數(可以到2的64次方) 把彼此相加和相減的答案算出來阿 : : : -- :



※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 59.112.45.220 : 推 ric2k1:Yes. 要用32位元的型態來表示可以到64位元的某個數 10/19 12:00 : 推 DoraBoy:那add,subtract() 這兩個function是要幹麻的啊?? 是為了要 10/19 12:33 : → DoraBoy:能表示到64位元才需要用的嗎( 能不能只用加法就好了呢)?? 10/19 12:36 : → DoraBoy:還是說 不但要能表示64位元大小的數 還要能做加減法的運算 10/19 12:38 : 推 DoraBoy:所以 是只要能表示出使用者輸入的大數就好 還是要讓使用者 10/19 12:42 : → DoraBoy:輸入兩個到64位元的數 並做相加相減 證明 我們所寫出來的 10/19 12:43 : → DoraBoy:add,subtract() 是真的可以做加減運算的嗎?? 10/19 12:45 OK... 本來想說留多一點想像空間給大家, 不過這樣子反而讓大家對於題目有點搞不清楚... 來個參考攻略好了... 1. unsigned int 只能表示到 32-bit 的整數, 而題目規定不能使用 64-bit 的整數, in either data members or member functions. 2. 所以要建立一個 class, 來包裝 "一些" variables, 讓他們 "一起" 可以表示到 64-bit (or slightly less) 的整數... 3. 課堂上舉例說明可以使用 "兩個 unsigned int" 當作 data members... 怎麼宣告呢? 比方說 --- class DoubleInt { private: int _highWord; int _lowWord; }; 4. Intuitively, 一個 DoubleInt 的 object, say "DoubleInt dInt", 他的值 "可以" 定義為 dInt = _highWord * 2^32 + _lowWord. 這樣子一個 DoubleInt 的物件就可以表示到 2^64 的整數. 5. 題目說 constructor 要將 initial value 初始成為 0... 自己想. 6. 題目說要用 cin 輸入一些值來給 DoubleInt::readValue(...) 來設定它的 data memebers 的值... 所以如果你的 data members 是兩個 unsigned int, 那麼你的 cin 要吃進什麼呢? (很 trivial 吧) 不過請 cout 一些 message 告訴 user 他該輸入什麼東西... 7. 困難的來了. 給定兩個 DoubleInt, 且讀入值 --- DoubleInt dInt1, dInt2; dInt1.readValue(); dInt2.readValue(); 題目要大家寫一個 "add()" member function --- dInt1.add(dInt2); 也就是說將 dInt2 的 value 加到 dInt1 且存回 dInt1. 過程中不准使用 64-bit 的整數... 要怎麼做呢? 要小心進位的問題喔! 8. 然後題目要大家寫一個 print() 將 data members 印出來, 這個應該簡單. 比較難的是 printDec()... 不過這個是 optional 的挑戰題. 就是要將數字用十進位印出來. 這個其實有難度, 我的暗示是也許你要犧牲一點 DoubleInt 可以表示的範圍... 不過這只是一種想法而已, 希望大家可以發揮一些創意. 也許從這個角度來說, 兩個 unsigned int 不是個好方法? 9. 當然也有人說可不可以用 string. 可以, 不過請討論一下 memory usage 以及執行的效率... 言盡至此, 希望大家都寫得出來... --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.134.53







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP