草庐IT

numbers_float

全部标签

swift - Swift 中的 Double vs Float80 速度

我听说x87FPU是用80位float工作的,所以即使我想用64位数字计算,它也会用80位计算然后转换。但在x86-64、Double或Float80(计算算术时)上,Swift中哪个最快? 最佳答案 虽然x87FPU确实以80位“扩展”精度在内部运行(至少,默认情况下;这是可定制的,实际上32位构建遵循macOSABI设置64位内部精度),针对x86-64的二进制文件不再使用x87FPU指令。所有实现64位长模式扩展的x86芯片也支持SSE2(事实上,这是AMD64规范所要求的),因此64位二进制文​​件始终可以假设支持SSE2。

解决使用element ui时el-input的属性type=number,仍然可以输入e的问题。

使用elementui时el-input的属性type=number,仍然可以输入e,其他的中文特殊字符都不可以输入,但是只有e是可以输入的,原因是e也输入作为科学计数法的时候,e是可以被判定为数字的,但是有些场景是需要把e这种情况屏蔽掉的,我们可以使用如下的方法。在进行键盘事件输入时,进行监听,禁止e的输入。方法如下。el-input@keydown.native="handleInput"type="number"v-model="form.number"clearableplaceholder="">/el-input>/el-form-item>handleInput(e){letke

ios - swift 3 : replace c style for-loop with float increment

我的应用程序中有这样一个循环:forvarhue=minHue;huehueIncrement是float,所以我不能像这样使用范围运算符:...在Swift3中实现这种循环的最佳和最巧妙的方法是什么? 最佳答案 你可以使用stride函数stride(through:,by:)..类似的东西forhuein(minHue).stride(through:maxHue,by:hueIncrement){//...}从Swift3.0开始,你可以使用stride(from:to:by:)或stride(from:through:by:

json - 无法将 NSNumber 桥接到 Float Swift 3.3

Xcode更新后我遇到了一个奇怪的问题。在我的应用程序中,当我从API获得响应时,我手动解析它并将其映射到我的模型。在我的代码中有很多地方我将JSON值转换为Float并进行空合并,如下所示:randomVariable=jsonDict["jsonKey"]as?Float??0它以前工作正常,但更新后,它总是默认为0。为了确定原因,我尝试将其强制转换为Float,如下所示randomVariable=jsonDict["jsonKey"]as!Float这导致了以下错误UnabletobridgeNSNumbertoFloat经过进一步调查,我发现Xcode使用的是Swift3.3

swift - Swift 中的高精度 float

如果double不够用,我该如何处理Swift中的float问题?是否有Java的BigDecimal的模拟? 最佳答案 Swift的Float80精度更高(但不是任意大)。http://swiftdoc.org/v2.0/type/Float80/ 关于swift-Swift中的高精度float,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/34232710/

ios Metal : limit on number of variables used in a shader

我在为我的着色器添加一些复杂性后,今天开始收到以下错误:Executionofthecommandbufferwasabortedduetoanerrorduringexecution.Discarded(victimofGPUerror/recovery)(IOAFcode5)我发现它与实际添加的代码无关,但实际上我添加了更多变量和函数调用。我尝试从着色器中删除其他复杂性,错误被删除。我发现的另一件事是,当我将fastmath设置为false时,问题也消失了。我的第一个猜测是,当快速数学打开时,变量的数量会有某种限制。有这样的限制吗?还有其他想法为什么会发生这种错误吗?

swift - Swift 的 UnsafeMutablePointer<Float>.allocate(...) 实际上分配内存吗?

我正在尝试理解Swift的不安全指针API以处理音频样本。非可变指针变体(UnsafePointer、UnsafeRawPointer、UnsafeBufferPointer)对我来说很有意义,它们都用于以只读方式引用先前分配的内存区域。这些变体没有类型方法“分配”然而,可变变体(UnsafeMutablePointer、UnsafeMutableRawPointer)被记录为实际分配底层内存。UnsafeMutablePointer(here)文档中的示例:staticfuncallocate(capacity:Int)Allocatesuninitializedmemoryfort

ios - 将 float 添加到十进制数

我有这个代码:varweightSum:Float=3.14159letweightPerPortionGrams:Decimal=0.999999weightSum=weightSum+(weightPerPortionGrams)数字是示例。我得到一个错误:Binaryoperator'+='cannotbeappliedtotype'Float'and'Decimal'.有人知道怎么解决吗? 最佳答案 要将Decimal转换为float,您可以这样做:weightSum+=Float(truncating:weightPerP

ios - AWS DynamoDB 在 LIST 或 NUMBER SET 中插入值

我正在使用适用于iOS的AWSDynamoDB。我创建了一个包含NumberSet列的表。现在,我正在尝试使用该应用为其添加值,但想知道为什么保存方式不同。例如:我在浏览器上手动在NumberSet上添加了值,它的值看起来像{123,456,789}在使用该应用程序时,它会保存,但会保存为[{"N":123},{"N":456},{"N":789}]任何想法如何保存一个NumberSet?我正在对此使用swift。 最佳答案 好的。我刚刚发现我需要使用NSSet/NSMutableset来存储NumberSet。

generics - CGFloat:当 Float 时调用 rintf(),当 Double 时调用 rint()

当架构是32位时,CGFloat是Fl​​oat。在这种情况下,我想调用rintf()当体系结构为64位时,CGFloat为Double。在这种情况下,我想调用rint()我目前对Double进行强制转换,然后调用rint()funcroundToNearestCell(coordinate:CGFloat)->CGFloat{letcellSize=10.0returncellSize*CGFloat(rint(Double(coordinate/cellSize)))}也许泛型可以很好地处理这两种情况? 最佳答案 这是有效的,尽