博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[模拟]位运算实现四则运算
阅读量:4945 次
发布时间:2019-06-11

本文共 1023 字,大约阅读时间需要 3 分钟。

1 const int mod = 1000; 2  3 int bitpow(int x, int n) { 4     int ans = 1; 5     int t = x; 6     while(n) { 7         if(n & 1) { 8             ans = (ans * t) % mod; 9         }10         t = t * t % mod;11         n >>= 1;12     }13     return ans;14 }15 16 int bitadd(int x, int y) {17     int xr = x ^ y;18     int nd = x & y;19     while(nd) {20         int xr1 = xr;21         int nd1 = nd << 1;22         xr = xr1 ^ nd1;23         nd = xr1 & nd1;24     }25     return xr;26 }27 28 int negtive(int x) {29     return bitadd(~x, 1);30 }31 32 int bitminus(int x, int y) {33     return bitadd(x, negtive(y));34 }35 36 int bitmulti(int x, int y) {37     int ans = 0;38     while(y) {39         if(y & 1) {40             ans = bitadd(ans, x);41         }42         x = (x << 1);43         y = (y >> 1);44     }45     return ans;46 }47 48 int bitdiv(int x, int y) {49     int ans = 0;50     for(int i = 31; i >= 0; i--) {51         if((x>>i) >= y) {52             ans += (1<

 

转载于:https://www.cnblogs.com/kirai/p/4716726.html

你可能感兴趣的文章
They Are Everywhere
查看>>
数据结构--汉诺塔递归Java实现
查看>>
day14 多态与抽象
查看>>
Eclipse CDT 出现 launch failed Binary not found
查看>>
apache jmeter
查看>>
Linux 基本命令
查看>>
RedHat7.0 网络源的配置
查看>>
(Mark)JS中关于闭包
查看>>
流程结构图
查看>>
ios端web app在键盘升起后缩小view防止界面仍可上下滑动
查看>>
从service弹出系统级自定义提示框,可在任意页面弹出
查看>>
Bootstrap简单介绍
查看>>
iOS Touch ID 身份认证
查看>>
springboot 注解笔记
查看>>
图解HTTP---------------------------------------4
查看>>
rsync+inotify脚本
查看>>
文件上传
查看>>
(Problem 92)Square digit chains
查看>>
0809
查看>>
FineUIPro v5.2.0已发布(jQuery升级,自定义图标,日期控件)
查看>>