每日一题——408
数据结构
1.有n个结点的二叉树的深度最小值是 (华中科技大学 2006年)
A.ëlog2(n)û
B.ëlog2(n+1)û
C.élog2(n+1)ù
D.élog2(n)ù
答案: C
解析: 当结点组成完全二叉树的时候,树的深度最小。
计算机操作系统
2.多线程之间效率最高的通信方式是下列哪种方式?(中国科学院大学 2016)
A. 共享变量
B. 消息传递
C. 管道
D. 共享文件
答案: C
解析: 通信方式:管道(包括无名管道和命名管道)、消息队列、信号量、共享存储
线程之间效率最高的通信方式是管道。
计算机网络
3.在OSI参考模型中,负责提供可靠的端到端数据传输的是 的功能。(中国科学院大学 2016)
A. 数据链路层
B. 传输层
C. 网络层
D. 应用层
答案:B
解析:在OSI参考模型中,负责提供可靠的端到端数据传输的是传输层的功能。
物理层:
利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作,保证信息能够正常传输;
数据链路层:
完成网络之间相邻结点的可靠传输,通过Mac地址负责主机之间的数据的可靠传输。
网络层:
主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能。完成网络中主机间的报文传输(物理层比特流,数据链路层帧),网络层识别的地址是IP地址。
传输层:
是整个网络关键的部分,是实现两个用户进程间端到端的可靠通信,处理数据包的错误等传输问题。是向下通信服务最高层,向上用户功能最底层。
会话层:
主要功能是在两个结点间建立、维护和释放面向用户的连接,并对会话进行管理和控制,保证会话数据可靠传送。
表示层:
主要负责数据格式的转换,即翻译,压缩与解压缩,加密与解密。
应用层:
应用层是网络体系中最高的一层,也是唯一面向用户的一层,也可视为为用户提供常用的应用程序,例如电子邮件,上网浏览等网络服务都是应用层程序。
计算机组成原理
4.若[X]补=X0X1X2…Xn,其中X0为符号位,X1为最高数位。若 ,则当补码左移时,将会发生溢出。(哈尔滨工程大学 2004年)
A.X0=X1
B.X0≠X1
C.X1=0
D.X1=1
答案: B
解析: 左移时总是移位和补零;
右移时无符号数是移位和补零,此时称为逻辑右移;
而有符号数大多数情况下是移位和补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。
例如:
取一字节为例,能表示的数字从 -128 ~ 127
先看正数,比如 9,就是 0000 1001,最高位(符号位)和数据最高位都是 0. 左移得到 0001 0010 也就是 18
再看负数 -9,就是 -(0000 1001) 也就是 1111 0110 + 1 即 1111 0111,最高位(符号位)和数据最高位都是 1. 左移后是 1110 1110,反过来是 (1110 1101 + 1)->0001 0010,就是 -18 了。
如果数据最高位和符号位不同的话,说明这个数字的绝对值已经超过 64 了,那么左移一位后必然溢出。
所以一个【有效的】左移最高位和数据最高位必然一致。故算术左移和逻辑左移一样。
所以得出结论= 当数据的最高位和符号位不同时,此时进行算术左移会导致符号的变化,从而超出该数据的设定的范围大小,从而溢出,这点要注意。
最后,祝大家都能成功上岸!