标签: division

分部(/)没有在postgresql中给出我的答案

我有一个表software和列,作为dev_cost,sell_cost.如果dev_cost是16000并且sell_cost是7500.

如何找到要销售的软件数量以便恢复dev_cost

我查询如下:

select dev_cost / sell_cost from software ;
Run Code Online (Sandbox Code Playgroud)

它回答2作为答案.但我们需要得到3,对吧?

对此有什么疑问?提前致谢.

sql postgresql division modulo

54
推荐指数
3
解决办法
4万
查看次数

不使用'/'的分部

任何人都可以告诉我一种有效的方法来执行除法操作而不使用'/'.我可以log(n)使用类似于二进制搜索的方法逐步计算整数值.

115/3 
57 * 3 > 115
28 * 3 < 115
47 * 3 > 115
.
.
.
38 * 3 is quotient value .....
Run Code Online (Sandbox Code Playgroud)

但还有其他更有效的方法吗?

algorithm bit-manipulation division

47
推荐指数
4
解决办法
7万
查看次数

如何在JavaScript中使用除法

我想在JavaScript中划分一个数字,它会返回一个十进制值.

例如:737/1070- 我希望JavaScript返回0.68; 但它会将其四舍五入并将其返回0.

如何将其设置为返回两位小数或完整结果?

javascript division

45
推荐指数
2
解决办法
6万
查看次数

具有常数整数除数的高效浮点除法

最近的一个问题是,编译器是否允许用浮点乘法替换浮点除法,这激发了我提出这个问题.

在严格的要求下,代码转换后的结果应与实际的除法运算在位上相同,可以看出,对于二进制IEEE-754算术,这对于2的幂的除数是可能的.只要除数的倒数可以表示,乘以除数的倒数就可以得到与除数相同的结果.例如,乘法0.5可以代替除法2.0.

然后人们想知道其他除数这样的替换是什么工作,假设我们允许任何短指令序列取代除法但运行速度明显更快,同时提供相同的结果.特别是除了普通乘法之外,还允许融合乘法 - 加法运算.在评论中,我指出了以下相关文件:

Nicolas Brisebarre,Jean-Michel Muller和Saurabh Kumar Raina.当事先知道除数时,加速正确舍入的浮点除法.IEEE Transactions on Computers,Vol.53,第8期,2004年8月,第1069-1072页.

本文作者提出的技术预先计算了除数y的倒数作为归一化的头尾对z h:z l如下:z h = 1/y,z l = fma(-y,z h,1 )/ y.之后,将除数q = x/y计算为q = fma(z h,x,z l*x).本文推导出除数y必须满足的各种条件才能使该算法起作用.正如人们容易观察到的那样,当头尾迹象不同时,该算法存在无穷大和零的问题.更重要的是,它将无法为数量非常小的股息x提供正确的结果,因为商尾的计算z l*x受到下溢的影响.

本文还提到了另一种基于FMA的划分算法,该算法由Peter Markstein在IBM工作时开创.相关参考是:

PW Markstein.在IBM RISC System/6000处理器上计算基本功能.IBM Journal of Research&Development,Vol.1990年1月34日第1号,第111-119页

在Markstein算法中,首先计算倒数rc,从中形成初始商q = x*rc.然后,用FMA精确地计算除法的余数r = fma(-y,q,x),并且最终计算出改进的,更准确的商,其为q …

c algorithm math floating-point division

45
推荐指数
2
解决办法
1969
查看次数

44
推荐指数
3
解决办法
7万
查看次数

为什么发出这样复杂的代码来将有符号整数除以2的幂?

当我用VC++ 10编译这段代码时:

DWORD ran = rand();
return ran / 4096;
Run Code Online (Sandbox Code Playgroud)

我得到这个反汇编:

299: {
300:    DWORD ran = rand();
  00403940  call        dword ptr [__imp__rand (4050C0h)]  
301:    return ran / 4096;
  00403946  shr         eax,0Ch  
302: }
  00403949  ret
Run Code Online (Sandbox Code Playgroud)

这是一个干净,简洁,用一个逻辑右移的2的幂代替一个除法.

然而,当我编译这段代码时:

int ran = rand();
return ran / 4096;
Run Code Online (Sandbox Code Playgroud)

我得到这个反汇编:

299: {
300:    int ran = rand();
  00403940  call        dword ptr [__imp__rand (4050C0h)]  
301:    return ran / 4096;
  00403946  cdq  
  00403947  and         edx,0FFFh  
  0040394D  add         eax,edx  
  0040394F  sar         eax,0Ch  
302: }
  00403952  ret …
Run Code Online (Sandbox Code Playgroud)

c++ x86 assembly division visual-c++

44
推荐指数
3
解决办法
3147
查看次数

quotRem和divMod之间的区别何时有用?

来自haskell报告:

如果y不为零,则quot,rem,div和mod类方法满足这些定律:

(x `quot` y)*y + (x `rem` y) == x
(x `div`  y)*y + (x `mod` y) == x
Run Code Online (Sandbox Code Playgroud)

quot是整数除法被截断为零,而结果div 被截断为负无穷大.

例如:

Prelude> (-12) `quot` 5
-2
Prelude> (-12) `div` 5
-3
Run Code Online (Sandbox Code Playgroud)

结果如何截断的区别在哪里?

haskell division

42
推荐指数
3
解决办法
8254
查看次数

负整数除法令人惊讶的结果

在我的应用程序中,我遇到了以下结果,并对结果感到惊讶:

8/-7=-2 (两个整数).

这意味着什么?

python division integer-division

42
推荐指数
3
解决办法
2万
查看次数

为什么将float除以整数返回0.0?

因此,如果我有一个数字范围'0 - 1024'并且我想将它们带入'0 - 255',则数学将要求将输入除以输入的最大值(在这种情况下为1024),这将给出我是一个介于0.0 - 1.0之间的数字.然后乘以目标范围,(255).

这就是我想要做的!

但由于某种原因,在Java中(使用Processing)它总是返回值0.

代码就像这样简单

float scale;
scale = (n/1024) * 255;
Run Code Online (Sandbox Code Playgroud)

但我得到0.0.我试过double和int.一切都无济于事.为什么!?

java math division integer-division

40
推荐指数
3
解决办法
5万
查看次数

检查一个数字是否可以被3整除

我需要找出一个数字是否可以被3整除而不使用%,/或者*.给出的提示是使用atoi()函数.知道怎么做吗?

division modulo integer-division

37
推荐指数
8
解决办法
2万
查看次数