作为应届生遇到的笔试题
2013-09-24 17:40
92 查看
1,最快的方法判断一个数是不是2的幂次方(网易)。
思路,如果系2的幂次方转换成2进制的话,有1个1,后面一堆0;方法:num&(num-1)==0即可。但是为了更合理,我们来考虑下有没有不一般的情况,1,负数?用-8,-9来测试一下,与了后不是0,通过。2, 2的分数次幂。不过这个不会搞。。。。悲剧
在网上搜了下,发现还可以扩展一下,如果系2的幂次方,判断系几次幂。可以设置一个计数器,用循环移位来改变计数值。while(num!=0){num>>=1;i++}
2,线程死锁
考了银行家算法和剥夺资源的方式的作用分别是什么,当时不会,回来百度百科看就明白了。
3,图灵机停机
看了一下午也不懂,没办法,放弃了
------------------------------------------------------------------------------------------------------------------------------------------------------
4,
一道关于C++ 继承/虚函数 笔试题
#include "stdafx.h" #include "stdio.h" #include "string.h" class Father { public: name() {printf("father name\n");}; virtual call() {printf("father call\n");}; }; class Son: public Father { public: name() {printf("Son name\n");}; virtual call() {printf("Son call\n");}; }; main() { Son *Son1=new Son(); Father *father1=(Father *)Son1; father1->call(); father1->name(); ((Son *)(father1))->call(); ((Son *)(father1))->name(); Father *f2=new Father(); Son *s2=(Son*)f2; s2->call(); s2->name(); ((Father *)(s2))->call(); ((Father *)(s2))->name(); }
output::
Son call father name Son call Son name father call Son name father call father name
虚函数的调用通过虚函数指针来调用,如果new的对象是Son的,则不管它转化成什么指针,它的指针都是Son内部的,与指针类型无关,只与指针地址有关
非虚函数的调用则由指针类型决定
本条转自/article/6449530.html?TPSecNotice ,我觉得解释得很清楚,一直都很乱,以后不会了。
-----------------------------------------------------------------------------------------------------------------------------------
相关文章推荐
- 2013 ACM/ICPC Asia Regional Changsha Online Travel by Bike (基础题)
- ZOJ Problem Set - G Goldbach
- 凸多边形间对踵点对
- 几个经典汇编段子
- 最薄横截带
- 对踵点对
- 数学在计算机图形学中的应用
- android WIFI 分析
- 现在也是工作一年的人了,但是好像还没完全找到状态
- c# 如何获取项目的根目录
- System.Windows.Markup.IQueryAmbient 在未被应用的程序集中定义
- Ubuntu进程管理命令与启动管理
- 凸多边形矢量和
- 临界切线
- Collections的使用
- 缓存简介(转载)
- 关于SQLite的移动开发必读
- C#的匿名委托 和 Java的匿名局部内部类
- 凸多边形交
- api更新