20、类型转换(P32、P33、P34)

1、”结果等于这个负数加上无符号数的模“

unsigned int u = 10;
int i = -42;
std::cout << u + i << std::endl;

如果 int 是32位,unsigned int 的范围是从 0 到 4,294,967,295,而 int 的范围是从 -2,147,483,648 到 2,147,483,647。

当执行 u + i,其中 u 是 10,i 是 -42 时,结果应该是 10 - 42,等于 -32。但是,由于 unsigned int 的范围是无符号的,所以结果会被解释为无符号整数,即 4,294,967,296 - 32,因此答案是 4,294,967,264。

 

2.1.3

2.4.2

2.4.3

2.4.4

2.6.3

3.5.3

4.11

4.11.3

6.1.3

6.2.4

6.4

15.2.3

19.1.1

19.2

posted @ 2023-10-29 22:58  多一些不为什么的坚持  阅读(41)  评论(0编辑  收藏  举报