私はのボリューム2のセクション4.3.2のアルゴリズムDを実装しています。コンピュータプログラミングの技術 D. E. Knuth ステップD3では、私はq = floor(u[j+n]*BASE+u[j+n-1]/v[n-1])とr = u[j+n]*BASE+u[j+n-1] mod v[n-1]を計算することになっています。ここで、u(被除数)とv(除数)は、長さがそれぞれm+nとnの単精度
多くの言語で と同様に、スウィフトの除算演算子のデフォルトは除算を整数へ、そう: let n = 1/2
print(n) // 0
あなたは浮動小数点除算をしたい場合は、あなたが他のほとんどの言語と同様に、ここでも let n1 = 1.0/2
let n2 = 1/2.0
let n3 = Double(1)/2
let n4 = 1/Double(2)
print(n1) /
整数除算は低速操作(通常、整数乗算より数倍遅い)であることはよく知られています。しかし、固定除数で多くの除算演算を実行する必要がある場合は、除数の前提条件をいくつか行い、 "/"を乗算とビット演算(Hacker's Delightの第10章)に置き換えることができます。 除数がコンパイル時定数(例:static final long DIVISOR = 12345L;)の場合、JVMはすべての除算