[问题] 只能使用逻辑运算子和递回的加法

楼主: wtchen (没有存在感的人)   2015-01-01 03:43:40
各位好,我在看成大资工进阶嵌入式系统开发与实做 (2014 年秋季 ) 课程说明
http://fr.slideshare.net/jserv/embedded2014
里面有两个c基本问题:
1. 只能使用逻辑运算子和递回,在C程式中实做两个整数的加法
void add(int a, int b) { ... }
2. 使奇偶位的位元相互交换,尽量用最短的程式码
(bit 0 <-> bit 1; bit 2 <-> bit 3; bit 4 <
作者: CaptainH (Cannon)   2015-01-01 03:45:00
第一题是要做个加法器?
楼主: wtchen (没有存在感的人)   2015-01-01 03:58:00
似乎是不能有"+"的加法器...
作者: BombCat (炸弹猫)   2015-01-01 08:36:00
http://ideone.com/ryZl63 不推,不要浪费时间去上比较好
作者: carylorrk (carylorrk)   2015-01-01 09:06:00
学过数位逻辑的加法器吗
作者: LiloHuang (十年一刻)   2015-01-01 11:17:00
int add(int a, int b) {if (b == 0) return a;return add(a ^ b, (a & b) << 1);} // 第一题是很常见的考题
作者: PoorLoser (废文制造机)   2015-01-01 11:55:00
用组语写,咬我啊
作者: descent (“雄辩是银,沉默是金”)   2015-01-01 13:22:00
永远都有难倒人的题目
作者: tubbysong (song)   2015-01-01 13:59:00
(某数 & 0x010101)就抽出奇数位元,<<左旋
作者: fireslayer (fireslayer)   2015-01-01 16:51:00
第二题看起来可以一行解决
作者: LiloHuang (十年一刻)   2015-01-01 17:03:00
第二题的一行解已经在 BombCat 贴的连结内了取出奇数位得使用 0x55555555,得用 0b 才是二进制表示
作者: tubbysong (song)   2015-01-01 19:55:00
add numbers without plus operator
作者: carylorrk (carylorrk)   2015-01-01 22:56:00
0x010101 是 0b010101 才对吧XD
作者: cpper (韩立)   2015-01-02 04:00:00
这种和现实工作脱节的题目根本不用浪费时间去写它
作者: kikiqqp (喵食罐头)   2015-01-02 22:11:00
如果你的工作是写组语货单芯片,这根本没有脱节
作者: x000032001 (版废了该走了)   2015-01-02 23:18:00
看一下推文 再看一下谁开的课 恩...
作者: uranusjr (←這人是超級笨蛋)   2015-01-02 23:51:00
只好召唤老师踹共了
楼主: wtchen (没有存在感的人)   2015-01-03 01:46:00
我只想问个问题,为啥^和&算是逻辑运算子?我印象中&和^不是位元运算子吗?
作者: LPH66 (-6.2598534e+18f)   2015-01-03 01:50:00
对位元做逻辑运算
作者: jserv (松鼠)   2015-01-03 08:33:00
课程说明已说,锁定的对象是高产值的工作职务和研究议题当然不是为了 8051 等级或者组装软硬件就能出货的工作我在业界工作十余年,感觉太多人故步自封,出这些题目,只是让同学们思考不一样的切入点,当然,这显然不是最有效的学习方式,但大学教育本来就是多元,我们有责任让学生体验到嵌入式系统的多个面向,并且勉励同学探究高产值的的公司或研究单位,到底都在关注哪些议题 -- by 授课教师http://wiki.csie.ncku.edu.tw/embedded/rehearsal #资讯科技产业面试模拟和工作咨询收录了相关的题目和面试策略的建议,欢迎各位朋友善加使用,大家多交流学习@wtchen: 感谢指正,这简报用词不精确,烧后会修正
作者: EdisonX (卡卡兽)   2015-01-03 08:49:00
jserv 好有心
作者: tubbysong (song)   2015-01-03 12:32:00
还不错的脑力激荡,期待更多题目分享
作者: LiloHuang (十年一刻)   2015-01-03 14:35:00
推 jserv 大神
作者: kikiqqp (喵食罐头)   2015-01-03 15:11:00
推文召唤到宅色夫 XD
作者: tjjh89017 (伊达政宗)   2015-01-03 17:32:00
老师好<(_ _)>
作者: sa074463 (垒包)   2015-01-03 19:38:00
真的召唤到老师了...
作者: HowLeeHi (处处留心皆正妹)   2015-01-04 22:13:00
说神来,神就来了...
楼主: wtchen (没有存在感的人)   2015-01-05 18:24:00
老师好,请问有打算弄成开放式课程或放上coursera吗?(身为社会人士很难去旁听阿...)如果需要经费,我虽然家无恒产但是愿意尽棉薄之力
作者: KoenigseggG (地表最速)   2015-01-05 23:46:00
原po要不要直接寄信问看看?slides第一页有email~这问题其实很多人都有在FB上问过XD
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2015-01-07 01:08:00
刚刚试着写过一次发现居然对了.... 好感动 (?想问一下 return b == 0 ? add( a^b, a&b) : a^b ;更正 !=这样的写法好吗 @@?糟糕 测试不够 现丑了 QQreturn b == 0 ? a|b : add( a^b, (a&b)<<1);

Links booklink

Contact Us: admin [ a t ] ucptt.com