PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

bcpow> <bcmod
Last updated: Mon, 26 Nov 2007

view this page in

bcmul

(PHP 4, PHP 5)

bcmul — Multiply two arbitrary precision number

说明

string bcmul ( string $left_operand , string $right_operand [, int $scale ] )

Multiply the left_operand by the right_operand .

参数

left_operand

The left operand, as a string.

right_operand

The right operand, as a string.

scale

This optional parameter is used to set the number of digits after the decimal place in the result. You can also set the global default scale for all functions by using bcscale().

返回值

Returns the result as a string.

范例

Example#1 bcmul() example

<?php
echo bcmul('1.34747474747''35'3); // 47.161
echo bcmul('2''4'); // 8
?>

参见



bcpow> <bcmod
Last updated: Mon, 26 Nov 2007
 
add a note add a note User Contributed Notes
bcmul
noj at cse dot unsw dot edu dot au
23-Apr-2008 04:29
Does the bcmul use karatsuba method for multiplication, or is it the normal way of O(n^2).

I want to multiply numbers which have sizes of 10,000 digits.

Where can i contribute to this library. So i can add more functions?
ju(...)
02-Apr-2008 04:00
Except that with xpheas method, you lose all the benefits of arbitrary precision as the * operator only works on int and float and those are restricted in length (See int ant float types for more information).
xpheas (at) gmail . com
14-Jun-2007 11:13
if you have compiled php width "--disable-bcmath", you can use this:

<?php
 
function bcmul($_ro, $_lo, $_scale=0)
  {
    return
round($_ro*$_lo, $_scale);
  }
?>

bcpow> <bcmod
Last updated: Mon, 26 Nov 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites