运用C++制作简单的加法运算程序

运用C++制作简单的加法运算程序,第1张

在vs2015中,我们可以这样写代码:

int add(int a, int b)

{

return (b == 0) ? a : add(a ^ b, (a &b) <<1)

/*

if(b == 0)

return a

else

return add(a ^ b, (a &b) <<1)

//异或结果 + 与运算结果左移一位

*/

}

拓展资料:

C++是面向对象的程序语言,区别我们的C语言,具体编程首先要定义一个类,类中包含私有成员以及公有成员两部分,私有成员主要是变量,公有成员主要是方法,另外还需要另外的.cpp程序来实现这些公有方法,以及一个主函数。一般的,外部对私有成员是不能直接访问的,需要通过调用公有方法来实现访问私有成员。

数据在计算机内存中是以二进制存储的。 

几种常用的位运算衡凯者咐薯:

与运算&: 对应位均为1时为1,其它为0。

或孙兆运算|: 对应位均为0时为0,其它为1。

异或运算^: 对应位不相同时为1,相同时为0.

按位取反~: 每一位取反

右移>>: 将二进制进行右移,低位丢掉,高位补零。

左移<<: 将二进制进行左移,低位补零,高位丢掉。

#include<string.h>

#include<stdio.h>扮键滑

void AntitoneChar(char *str, int len)

{

char ch

int n

for(n= 0n <len/2n++)

{

ch= str[n]

str[n] = str[len-1-n]

str[len-1-n] = ch

}

}

void main()

{

char a[100]

char b[100]

char c[101]

int max

int i

char jc= 0

memset(a, '0', 100)

memset(b, '0', 100)

memset(c, 0, 101)

puts("请输入两个数:")

scanf("%s", a)

scanf("%s", b)

printf("\n")

AntitoneChar(a, strlen(a))

AntitoneChar(b, strlen(b))

max= strlen(a) >亮茄 strlen(b) ? strlen(a) : strlen(b)

for(i= 0i <maxi++)

{

if(a[i] == '\0')

a[i] = '0'

if(b[i] == '\0')

b[i] = '0'

c[i]= a[i] + b[i] + jc - 48

if(c[i] >'9')

{

c[i] -= 10

jc = 1

}

else

jc = 0

}

if(jc == 1)

{

c[i]= '1'

}

AntitoneChar(c, strlen(c))

printf("厅腊%s\n", c)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12384426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存