20150328晚,不使用乘号运算符实现两个整数乘法
2016-03-28 23:06
148 查看
//20150328晚,不使用乘号运算符实现两个数相乘 #include <stdio.h> #include <stdlib.h> #pragma warning(disable:4996) //using namespace std; int main() { int m, n, t; long long ll, absn, absm; while (scanf("%d %d", &m, &n) != EOF) { absn = n; absm = m; ll = 0; t = 0; if (m < 0) absm = 0 - absm; if (n < 0) absn = 0 - n; for (int i = 1; i > 0; i <<= 1) { if (i&absn) ll += absm << t; t++; } if ((!(m < 0 && n < 0)) && (m < 0 || n < 0)) ll = 0 - ll; printf("%lld\n", ll); } return 0; }
相关文章推荐
- #java读书笔记#面向对象2
- 如何修改系统对话框默认的文本
- 1.Two Sum
- qt 中 c 编译选项/链接库如何链接
- 《AndroidStudio实用指南》反馈问题和建议
- BZOJ3931 [CQOI2015]网络吞吐量(最大流)
- 由数字、26个英文字母、下划线或汉字的正则表达式
- MFC中透明位图原理
- Android Studio插件推荐(PreIOC,GsonFormat)
- 素数筛选法
- 深入PHP中的引用
- VIM环境的Markdown配置
- UDP 和 TCP 对比讲解
- Spring3自定义环境配置 <beans profile="">
- 南阳理工学院软件月赛
- HTTP深入浅出
- 如何利用gulp构建前端自动化
- 第三百六十天 how can I 坚持
- 单链表各种操作,VS2013+番茄插件写着真爽
- MyBatis关于识别器和缓存的简单理解