self.buttonLeadingConstraint.constant = self.buttonLeadingConstraint.constant - 50;
// here 50 is space between button + button width
应该完全等于original_value吗?任何精度都可能丢失?
答案 0 :(得分:16)
应该完全等于original_value吗?任何精度都可能 丢失?
是的,如果dv
的值之间没有变化。
从C99规范转换6.3.1.5实时浮动类型部分开始:
- 当float被提升为double或long double时,或者double是 提升为长双,其价值不变。
- 双人的时候 降级为浮动,长双重降级为双倍或浮动,或者a 值以更高的精度和范围表示 通过其语义类型(见6.3.1.8)显式转换为它 语义类型,如果转换的值可以准确表示 在新类型中,它没有变化。如果转换的值是 可以表示但无法表示的值范围 确切地说,结果是最接近的更高或更接近的更低 可表示的值,以实现定义的方式选择。如果 转换的值超出了可以的值范围 表示,行为未定义
醇>
对于C ++,请参阅 4.6 又 conv.fpprom (使用的草稿:n337,我相信最终规格中提供类似的行)
float类型的prvalue可以转换为double类型的prvalue。 值未更改。此转换称为浮点 推广。
部分 4.8 又名 conv.double
浮点类型的prvalue可以转换为prvalue 另一种浮点类型。 如果源值可以准确 在目的地类型中表示,转换的结果是 确切的表示。如果源值在两个相邻之间 目的地值,转换的结果是 实现定义的这两个值的选择。除此以外, 行为未定义。转换允许作为浮点 促销活动从浮点转化集中排除
所以这些值应该完全相同。