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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP