1

 结构体的大小:

题目是这样的:

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

int i = 5;

int j = 10;

System.out.println(i + ~j);

“~”是取反指令;这题需要了解二进制在计算机中的存储,负数在计算机中是以补码存储的;

32位系统来说:

10的二进制:

0000000000000000 0000000000001010

10取反:

1111111111111111 1111111111110101

变成了负数;而负数在计算机中是以补码存储的;

变成补码即为:

1000000000000000 0000000000001011

即为-11 所以答案为-6.

搜索引擎:

搜索引擎显示搜索结果的时间是搜索引擎对该词条的收录时间,这个时间大于等于楼主发帖时间。..

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值