一些简单的面试题

一、0x7fffffff是什么

0x7fffffff是十六进制的int最大值

二、两个int的最大值相加的最大结果是多少,为什么?

首先,需要知道计算机的计算过程,计算机计算相加其实是用过其补码进行相加。

正数:原码、补码、反码都是他本身

负数:反码= 源码取反(符号位除外),补码 = 反码 + 1

用0111四位标识int的最大数(32位无非就是中间多了很多的1)

【原码】0111 【补码】0111 【反码】0111

1.转换为补码进行计算

【补码】0111 + 【补码】0111 = 【补码】1110

2.将补码转换成原码再转换成10进制

【补码】1110 ---->【原码】1010 --- > -2(10)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容