一、单项选择题
-
在8位二进制补码中 \(10101011\) 表示的数是十进制下的( )。
答案:\(-85\)
解析:正数的补码是其自身,负数的补码是除符号位外所有位取反后再加一(这样方便加减)。我们把 \(10101011\) 减一后取反回去就可以得到 \(-85\) 了。
-
下列算法中 ,没有用到贪心思想的算法为( )。
A. 计算无向图最小生成树的 \(Kruskal\) 算法B. 计算无向图点双连通分量的 \(Tarjan\) 算法
C. 计算无向图单源最短路路径的 \(Dijkstra\) 算法
D. 以上算法均使用了贪心的思想
答案:\(B\)
解析:\(tarjan\) 里 \(low\) 数组取 \(min\) 不能算贪心。
-
若要使用 g++ 编译器,开启 -Ofast 优化,且使用 C++11 标准,将源文件 prog.cpp 编译为可执行程序 exec,且保留调试信息,则需要使用的编译命令为( )。
A.g++ prog.cpp -Ofast exec-std=c++11 -debug
B.g++ prog.cpp -Ofast exec-std=c++11 -g
C.g++ prog.cpp -o exec -Ofast-std=c++11 -debug
D.g++ prog.cpp -o exec -Ofast-std=c++11 - g
答案:\(D\)
解析:保留调试信息并不是
-debug
而是-g
。