zoukankan      html  css  js  c++  java
  • 20150328晚,不使用乘号运算符实现两个整数乘法

    //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
    ", ll);
        }
        return 0;
    }
    手里拿着一把锤子,看什么都像钉子,编程界的锤子应该就是算法了吧!
  • 相关阅读:
    上传文件事件并校验:event.target.files && event.target.files[0]
    深浅拷贝
    Git学习
    Flex弹性布局
    hive
    222
    错误总结
    Redis小结2
    spark小结
    kafka详解
  • 原文地址:https://www.cnblogs.com/chess/p/5331135.html
Copyright © 2011-2022 走看看