聊聊在私立文理读cs的两年感受

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 3129|回复: 22
收起左侧

9月18日,google电面

[复制链接] |试试Instant~ |关注本帖
天堂在笑 发表于 2015-9-20 03:23:45 | 显示全部楼层 |阅读模式

2015(10-12月) 码农类General 硕士 全职@Google - 网上海投 - 技术电面  | Other | fresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
9月18号google电面
一道题,实现Binary-Coded Decimal (BCD) 码的运算。
楼主转专业,**一个,根本没听过这个概念,刷过的题太少,也没见过,晕得一塌糊涂,在对方的各种hints下写得不知所云。


供大家参考吧……


事后已经恶补相关知识,sigh……

.1point3acres网
move on next company

评分

1

查看全部评分

storm_hair 发表于 2015-9-20 03:53:47 | 显示全部楼层
我是专业的,但我也不知道
回复 支持 反对

使用道具 举报

hulahu 发表于 2015-9-20 03:54:01 | 显示全部楼层
楼主, 举个例子吧
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 04:04:13 | 显示全部楼层
hulahu 发表于 2015-9-20 03:54. 1point3acres
楼主, 举个例子吧

BCD码的运算法则
BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规则进行处理的。这样,当将 BCD码传送给运算器进行运算时,其结果需要修正。修正的规则是:当两个BCD码相加,如果和等于或小于 1001(即十进制数9),不需要修正;如果相加之和在 1010 到1111(即十六进制数 0AH~0FH)之间,则需加 6 进行修正;如果相加时,本位产生了进位,也需加 6 进行修正。这样做的原因是,机器按二进制相加,所以 4 位二进制数相加时,是按“逢十六进一”的原则进行运算的,而实质上是 2 个十进制数相加,应该按“逢十进一”的原则相加,16 与10相差 6,所以当和超过 9或有进位时,都要加 6 进行修正。下面举例说明。
【例 1.3】 需要修正 BCD码运算值的举例。. 牛人云集,一亩三分地
(1) 计算 5+8;(2) 计算 8+8. 一亩-三分-地,独家发布
解:(1) 将 5 和 8 以 8421 BCD输入机器,则运算如下:
0 1 0 1
+) 1 0 0 0. 一亩-三分-地,独家发布
1 1 0 1 结果大于 9
+) 0 1 1 0 加 6 修正
1 0 0 1 1 即13 的 BCD码
结果是 0011,即十进制数3,还产生了进位。5+8=13,结论正确。
(2)将8以8421 BCD输入机器,则运算如下:
1 0 0 0
+)1 0 0 0
1 0 0 0 0 结果大于9
+)0 1 1 0 加6修正. 1point3acres
1 0 1 1 0 16的BCD码
结果是0110,即十进制的6,而且产生进位。8+8=16,结论正确。. 牛人云集,一亩三分地
微机原理代码: (AL=BCD 5,BL=BCD 8) 设AH=0,则
ADD AL,BL
AAA
结果为 AX=0103H,表示非压缩十进制数,CF=1,AF=1,AH=1,AL=3
使用AAA指令,可以不用屏蔽高半字节,只要在相加后立即执行AAA指令,便能在AX中得到一个正确的非压缩十进制数


--------------------------
.留学论坛-一亩-三分地
抄的百度……
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-9-20 04:33:51 | 显示全部楼层
天堂在笑 发表于 2015-9-20 04:04
BCD码的运算法则
BCD码的运算规则:BCD码是十进制数,而运算器对数据做加减运算时,都是按二进制运算规 ...

突然想起来其实计算机组成原理的时候学过
回复 支持 反对

使用道具 举报

M_Jason 发表于 2015-9-20 04:45:07 | 显示全部楼层
其实面试官给解释了BCD的概念之后,也就不算很难了,我觉得G家的面试本来就趋于给这种新题,让你没有准备,然后看你的学习和理解能力的。话说,楼主能不能贴一个这道题的函数名呢?包括参数和返回值在内的。谢了~
回复 支持 反对

使用道具 举报

hulahu 发表于 2015-9-20 05:32:45 | 显示全部楼层
赞同, 但是, 看到新题就紧张。
回复 支持 反对

使用道具 举报

坐看云起 发表于 2015-9-20 05:38:30 | 显示全部楼层
看到这题就想GG了。。。。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 06:20:57 | 显示全部楼层
M_Jason 发表于 2015-9-20 04:45
其实面试官给解释了BCD的概念之后,也就不算很难了,我觉得G家的面试本来就趋于给这种新题,让你没有准备, ...

private static class Result {
            private final int sign;.1point3acres网
            private final int[] digits;. from: 1point3acres

            Result(int sign, int[] digits) {. visit 1point3acres for more.
              this.sign = sign;
              this.digits = digits;
            }
          }
private static Result addDigits(int[]a,int[]b){}
private static Result subtractDigits(int[] a, int[] b) { }
........
private static int compare(int[] a, int[] b) {}

大体框架就是这样了
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 06:21:43 | 显示全部楼层
hulahu 发表于 2015-9-20 05:32. from: 1point3acres
赞同, 但是, 看到新题就紧张。

是啊!感觉懵了一样……都不知道我在写什么……
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 06:21:56 | 显示全部楼层
坐看云起 发表于 2015-9-20 05:38
看到这题就想GG了。。。。
.1point3acres网
GG是什么意思……
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 06:23:42 | 显示全部楼层
天堂在笑 发表于 2015-9-20 06:20
private static class Result {
            private final int sign;
            private final int[] digits;

不让用int,就是用数组一个一个存数字,所以减法乘法除法都有借位进位那些乱七八糟的,你自己想好了……
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-20 06:24:40 | 显示全部楼层
storm_hair 发表于 2015-9-20 04:33
突然想起来其实计算机组成原理的时候学过

其实就是二进制么……
回复 支持 反对

使用道具 举报

storm_hair 发表于 2015-9-20 06:29:03 | 显示全部楼层
天堂在笑 发表于 2015-9-20 06:24
其实就是二进制么……

有专门一节讲解各种“常(qi)用(guai)”二进制编码
回复 支持 反对

使用道具 举报

M_Jason 发表于 2015-9-20 07:15:01 | 显示全部楼层
hulahu 发表于 2015-9-20 05:32
赞同, 但是, 看到新题就紧张。

哈哈,那就得多练习面试了,本来其实就不应该期待原题的,尤其是面G家还有那些傲娇的startup的时候。
回复 支持 反对

使用道具 举报

M_Jason 发表于 2015-9-20 07:16:14 | 显示全部楼层
天堂在笑 发表于 2015-9-20 06:20
private static class Result {
            private final int sign;
            private final int[] digits;

soga,多谢了!不过,那中间的省略号是什么意思?难道还让你实现乘法除法了?
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-21 04:08:23 | 显示全部楼层
M_Jason 发表于 2015-9-20 07:16
soga,多谢了!不过,那中间的省略号是什么意思?难道还让你实现乘法除法了?

其它自己写的方法,比如b<a的时候,b的数组长度短于a,那b就需要补位为0
回复 支持 反对

使用道具 举报

坐看云起 发表于 2015-9-22 06:50:29 | 显示全部楼层
楼主,这道题能不能先把BCD转换成Binary,计算完在转换回来?
回复 支持 反对

使用道具 举报

 楼主| 天堂在笑 发表于 2015-9-22 10:43:54 | 显示全部楼层
坐看云起 发表于 2015-9-22 06:50. 一亩-三分-地,独家发布
楼主,这道题能不能先把BCD转换成Binary,计算完在转换回来?

不行……不让用……
回复 支持 反对

使用道具 举报

uuuouou 发表于 2015-9-22 11:14:14 | 显示全部楼层
真是涨姿势了,赞lz面经~
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-21 19:32

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表