1、b。
结构体中的位域对齐。前两个int型变量的位域之和小于4字节,因此存放在一个int型变量之中,但是第三个是double型的变量,需要8字节对齐,这样前三个变量占了16个字节,最后一个int是四个字节,总共20个字节。根据结构体定义的原则,应该是最长变量的整数倍对齐,因此应该是24个字节。
对于window而言,结构体的最大类型是多少字节,就是多少字节对齐,但是对已linux而言,最长是4字节对齐。
2、b
3、网络地址是:11111111.11111111.11111111.11100000.
B。全0和全1的地址不能作为主机地址。因为该网段内的全0地址是网络地址,全1地址是广播地址。
4、c
5、36
6、A
2012/5=102
2012/25=80(贡献两个5,但是在5的时候已经算了一遍,因此在在总和中需要再加一次)
2012/125=16(贡献三个5,但是在因子为5和25的时候各算了一次,因此在总和中只需再加一次)
2012/625=3(同上)
102+80+16+3
2、分别提取出偶数位(与55555555做与操作)和奇数位(与AAAAAAAA做与操作).然后将偶数位左移一位,基数位右移一位。然后做或操作。
比如6变成9的过程
提取偶数位:6&5=0100
提取基数位:9&a=0010
然后偶数位左移一位:1000
奇数位右移一位:0001
然后相或:1001
宏定义:
((x&55555555)<<1)) |((x&aaaaaaaa)>>1)
3、输出
创新工场
创新工场
4、
深度优先遍历:ABCDGHFE
广度优先遍历:ABCEFDGH
原文地址:http://4989715.blog.51cto.com/4979715/1423698