要求:

问题:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。

示例:

如果 a=1 并且 b=2,返回3

代码:

 package main

 import (
"fmt"
) func main() {
var a =
var b =
res := add(a,b)
fmt.Println("a + b = ", res)
} /**
* 位移实现两数加法
*/
func add(a, b int) int {
if( == b) {
return a
}
return add(a^b, (a&b)<<)
}

随机推荐

  1. HTTP及RFC解析。

    HTTP协议描述的是发送方与接收方的通信协议,通过两方的自觉遵守而存在,当然有不少的浏览器并没有百分百遵守这份协议.HTTP是运行于应用层的协议,基于TCP协议而运作.基本上是客户/服务器对答模式,其 ...

  2. Ping 的TTL理解

    http://www.webkaka.com/tutorial/zhanzhang/2017/061570/ 根据自己的扩展重新整理了一下,虽然不是运维,想了解一点东西就希望了解清楚. 一.含义 “T ...

  3. C# 3.0 / C# 3.5 扩展方法

    概述 扩展方法是一种特殊的静态方法,可以像扩展类型上的实例方法一样进行调用,能向现有类型“添加”方法,而无须创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法的定义实现: public s ...

  4. Div和Span

    Div ——层级元素,这一行不允许有其他元素(用来布局) Span ——用来修饰文本

  5. IIS隐藏版本号教程(Windows Server 2003)

    1.下载Urlscan https://www.microsoft.com/en-us/search/DownloadResults.aspx?q=URLScan(总下载页面) https://dow ...

  6. kiss prefix paleo,per,pen,pan,para out 1

      1● paleo 2● per 3● pen 4● pan 5● para   1★ paleo 古   2★ para ,辅助,在旁边   3★ pan 广泛的   4★ per 假,坏,自始自 ...

  7. linux下vmstat命令详解

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控. 它能够对系统的整体情况进行统计,无法对某个进程进行深入分析 ...

  8. UVa 10859 - Placing Lampposts 树形DP 难度: 2

    题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  9. awk使用教程

    gawk - pattern scanning and processing language 基本用法:gawk [options] 'program' FILE ... program:PATTE ...

  10. sass进阶 @if @else if @else @for循环

    这种判断语句要配合混合宏来使用 定义下一混合宏 @mixin blockOrHidden($boolean:true) { @if $boolean { @debug "$boolean i ...