麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php使用位運算實現整數的加減乘除并測試(代碼

2020-03-22 20:06:54
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php使用位運算實現整數的加減乘除并測試(代碼示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

 ?php * Created by PhpStorm. * User: Mch * Date: 8/10/18 * Time: 23:51 * 只用位運算不用算數運算實現整數的 + - * /html' target='_blank'>class Arithmetic { const MAX_INTEGER = 2147483647; const MIN_INTEGER = -2147483648; * @param int $a * @param int $b * @return int $a + $b; public static function add(int $a, int $b) : int { $sum = $a; while ($b) { $sum = $a ^ $b; // 不考慮進位 $b = ($a $b) 1; // 只考慮進位 $a = $sum; return $sum; * 相反數 = 二進制表達取反+1(補碼) * @param int $n * @return int private static function negateNumber(int $n) : int { return self::add(~$n, 1); * a-b = a + (-b) * @param int $a * @param int $b * @return int public static function minus(int $a, int $b) : int { return self::add($a, self::negateNumber($b)); * @param int $a * @param int $b * @return int $a * $b public static function multiple(int $a, int $b) : int { $res = 0; while ($b) { if (($b 1)) { $res = self::add($res, $a); $a = 1; $b = 1; return $res; private static function isNegative(int $n) : bool { return $n  * a/b a = MIN_INTEGER, b!=MIN_INTEGER ? * @param int $a * @param int $b * @return int private static function p(int $a, int $b) : int { $x = self::isNegative($a) ? self::negateNumber($a) : $a; $y = self::isNegative($b) ? self::negateNumber($b) : $b; $res = 0; for ($i = 31; $i $i = self::minus($i, 1)) { if (($x $i) =$y) { $res |= (1 $i); $x = self::minus($x, $y $i); return self::isNegative($a) ^ self::isNegative($b) ? self::negateNumber($res):$res; * @param int $a * @param int $b * @return int $a / $b public static function pide(int $a, int $b) : int { if ($b === 0) { throw new RuntimeException( pisor is 0  if ($a === self::MIN_INTEGER $b === self::MIN_INTEGER) { return 1; } else if ($b === self::MIN_INTEGER) { return 0; } else if ($a === self::MIN_INTEGER) { $res = self::p(self::add($a, 1), $b); return self::add($res, self::p(self::minus($a, self::multiple($res, $b)), $b)); } else { return self::p($a, $b);}

TEST:

echo Arithmetic::add(1, 2).PHP_EOL; // 3echo Arithmetic::minus(10, 3).PHP_EOL; // 7echo Arithmetic::multiple(5, 3).PHP_EOL; // 15echo Arithmetic::pide(-2147483648, 1).PHP_EOL; // -2147483648echo Arithmetic::pide(-15, 3).PHP_EOL; // -5

相關推薦:

PHP和html表單之間實現簡單交互的代碼

php如何生成HTML文件的類?php生成html文件類的方法

以上就是php使用位運算實現整數的加減乘除并測試(代碼示例)的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美色大成网站www永久男同 | 国产高潮好爽受不了了夜色 | 日本免费一区二区三区四区 | 中文字幕一区二区三区久久 | 日本在线视频一区二区三区 | 成人资源在线观看 | 国产91久久精品一区二区 | 欧美xxxxx视频 | 久久精品久 | 看91 | 国产免费v片 | 久久色伦理资源站 | 国产网站黄| 91精品国产一区二区三区四区在线 | 久久久久久久九九九九 | 九九热在线观看视频 | 亚洲无限资源 | 国产中文一区 | 精品黑人一区二区三区国语馆 | 亚洲男人天堂 | h视频在线免费看 | 久久精国 | 色悠悠久久久久 | 一级毛片在线观看视频 | 成人精品视频在线 | 一级毛片免费大片 | av观看国产 | 成人午夜视频免费在线观看 | 日本a∨精品中文字幕在线 欧美1—12sexvideos | 欧美a在线观看 | 国产精品久久久久久久久久三级 | 99在线在线视频免费视频观看 | 欧美色另类 | 成人精品久久 | 国产精品久久久久久久av | 中国杭州少妇xxxx做受 | www.91视频com | 国内精品久久久久久久久久久久 | 欧美一级特黄aaaaaa在线看首页 | 一区二区三区在线观看国产 | 视频一区二区在线播放 |