gpt4 book ai didi

c - 64 位无符号整数可以有多大?

转载 作者:太空狗 更新时间:2023-10-29 15:44:58 27 4
gpt4 key购买 nike

我很清楚How big can a 64bit signed integer be?感谢这个问题及其直截了当的答案。

那么,据此,我可以说 unsigned int 可以是 2^64 - 1,而不是 2^63 - 1 吗?

2^63 - 1:    0111111111111111111111111111111111111111111111111111111111111111

2^64 - 1: 1111111111111111111111111111111111111111111111111111111111111111

当且仅当我正确理解时,我如何才能检测到无符号溢出?二进制补码表示中有符号整数的溢出会侵入最高位,返回负数。但是这个未签名的案子怎么样?

最佳答案

有符号整数只能达到2^63-1 (9,223,372,036,854,775,807),因为最高有效位是为符号保留的。如果此位为 1,则数字为负数,并且可以低至 -2^63 (-9,223,372,036,854,775,808)。

在一个带符号的 64 位整数上,2^64-1 实际上是数字 -1

但是,如果您使用无符号整数,则该值从 02^64-1 (18,446,744,073,709,551,615) 开始成为它的最大值,但无符号整数不能表示负值.

关于c - 64 位无符号整数可以有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46442411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com