结构体的大小:
题目是这样的:
32位机器上定义如下结构体:
struct xx
{
long long _x1;
char _x2;
int _x3;
char _x4[2];
static int _x5;
};
int xx::_x5;
问 sizeof(xx)的大小是
记住两点:1,结构体中的成员的偏移量必须是其大小的整数倍;2,结构体的最终大小必须是结构体中最大简单类型成员的整数倍。
这个题中:x1 偏移量0,长度8;
x2 偏移量8, 长度1;
x3 偏移量9,长度4,不符合所以偏移量改为12(9,10,11跨过),长度4;
x4 偏移量16,长度2;
x5是静态变量不管它;
最后8+1+3+4+2=18,long long长度为8,所以18扩充到24;则结构体的大小为24;
linux的命令:
ps:查看运行中的进程,。。。
取反指令:
What results from the following code fragment?
1 2 3 |
|
“~”是取反指令;这题需要了解二进制在计算机中的存储,负数在计算机中是以补码存储的;
32位系统来说:
10的二进制:
0000000000000000 0000000000001010
10取反:
1111111111111111 1111111111110101
变成了负数;而负数在计算机中是以补码存储的;
变成补码即为:
1000000000000000 0000000000001011
即为-11 所以答案为-6.
搜索引擎:
搜索引擎显示搜索结果的时间是搜索引擎对该词条的收录时间,这个时间大于等于楼主发帖时间。..