char 或 float 溢出

标签 c floating-point char overflow

不确定如何判断是否可能发生溢出。我得到了这个示例代码:

char x;  
float f, g;  
// some values get assigned to x and f here...  
g = f + x;  

有人可以解释一下吗?

最佳答案

float,在其最高限制(二进制指数为 127)下,没有足够的精度(23 位)来显示最大可能的 char 的差异( 127, 7 位),因此不可能发生溢出,因为加法不会产生任何影响(需要 127-7=120 的精度)。

关于char 或 float 溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5932336/

相关文章:

c - clang 和 gcc 之间的 float 操作结果不一致

oracle - 使用 eclipselink 时避免 CHAR 修剪

c - 字符*如何工作?

c - 如何在C中交换文件中的元素

c - 根据堆栈的定义,这怎么行不通?

Python 将 float 误认为字符串

C var 定义,char 限制是字节还是位?

C: 'unlink' 未在此范围内声明

c++ - 如何正确删除一个空指针对象?

c - 浮点加法/乘法/除法