mirror of
https://github.com/Aexiar/c.git
synced 2024-10-22 12:05:45 +00:00
c
This commit is contained in:
parent
31069c8963
commit
1fe823a4be
@ -602,8 +602,13 @@ int main() {
|
||||

|
||||
|
||||
* 在程序中也是一样的,各种整数类型在内存中占用的存储单元是不同的,如:short 在内存中占用 2 个字节的存储单元,int 在内存中占用 4 个字节的存储单元。这也就意味着,各种整数类型只能存储有限的数值,当数值过大或多小的时候,超出的部分就会被直接截掉,那么数值就不能正确的存储,我们就将这种现象就称为`溢出`(overflow)。
|
||||
* 如果达到了最大值,再进行加法计算,数据就会超过该类型能够表示的最大值,叫做`上溢出`。
|
||||
* 如果这个数目前是最小值,再进行减法计算, 数据就会超过该类型的最小值, 叫做`下溢出`。
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> * 如果这个数目前是`最大值`,再进行`加法`计算,数据就会超过该类型能够表示的最大值,叫做`上溢出`(如果最大值 + 1 会“绕回”到最小值)。
|
||||
> * 如果这个数目前是`最小值`,再进行`减法`计算,数据就会超过该类型能够表示的最小值, 叫做`下溢出`(如果最小值 - 1 会“绕回”到最大值)。
|
||||
>
|
||||
> 在 C 语言中,程序产生数值溢出的时候,并不会引起错误而自动停止,是因为计算机直接按照二进制补码的运算规则进行处理;但是,这可能会导致不可预料的后果。因此,编程时要特别注意避免数值溢出,特别是在涉及大数或小数的运算时。
|
||||
|
||||
### 1.3.2 无符号数的取值范围
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user