腾讯2015校招面试中一道算法题

今天看到1280社区成员zhangxing发表的腾讯2015校园招聘面经

最后一道面试算法题是“一个超长字符串表示的十进制数(大于2^32),转化为十六进制的字符串?”。超长字符串,可以作为大数处理了。

关于大数处理的方法,网上资源也很多,大家可以搜索一下.

也可以参考《浅谈大数的进制转换》:http://www.cnblogs.com/phinecos/archive/2009/09/11/1564975.html

大致思想就是:对于字符串,从高位开始每次取出一位,然后除以16,(余数乘以10+下一位),一直继续····

例如:1101(四位举例,多于32同理),1除以16,商为0,余数为1。第二位1+上一位的余数,即1*10+1=11,用11除以16,余数为11,商为0。第三位0+11*10=110。用110除以16,商为6,余数为14.第四位1+14*10=141.用141除以16,商为8,余数为13。即化为十六进制的最低位为C。然后把四次的商0068.在用68作为除数,按照上述循环。

转载请注明出处:http://blog.csdn.net/tenderhearted/article/details/39342543

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值