您现在的位置是:主页 > news > 江小白发展过程中采用了哪些网络营销方式/北京seo公司网站

江小白发展过程中采用了哪些网络营销方式/北京seo公司网站

admin2025/6/27 18:51:10news

简介江小白发展过程中采用了哪些网络营销方式,北京seo公司网站,南京房产网,无锡手机网站开发点击关注了解更多精彩内容!!异或运算可以达到交换两数的目的,代码如下:但不推荐使用这种方式,附上常用的临时变量方法对比说明。临时变量方法:对于临时变量法,每次赋值只要读取一个变量的值到寄存器,然后再…

江小白发展过程中采用了哪些网络营销方式,北京seo公司网站,南京房产网,无锡手机网站开发点击关注了解更多精彩内容!!异或运算可以达到交换两数的目的,代码如下:但不推荐使用这种方式,附上常用的临时变量方法对比说明。临时变量方法:对于临时变量法,每次赋值只要读取一个变量的值到寄存器,然后再…
97e3eafbf784c26c665ce83ae34f3e88.png

点击关注了解更多精彩内容!!

异或运算可以达到交换两数的目的,代码如下:

3f94d2a19cb79bcc4dc892d45a2658fa.png

但不推荐使用这种方式,附上常用的临时变量方法对比说明。

临时变量方法:

38c76ad46d0faae846b9f2a930311585.png

对于临时变量法,每次赋值只要读取一个变量的值到寄存器,然后再从寄存器写回到另一个变量中即可,前后涉及两次内存写入操作;但是对于异或运算操作,每次都需要读取两个数据到寄存器中,再进行运算操作,之后把结果写回到变量中,前后共需要三次内存写入操作。另外一点,异或操作的代码可读性差。

如果使用C语言实现上述两种方法,并用gcc编译器编译,可以使用命令 gcc -S swap.c 查看相应的汇编代码,临时变量法代码行数更少,另外使用 gcc 编译器时,用异或运算交换数组会出错,参见链接。

在不引入临时变量的基础上,交换两数的值还可以使用三次加减法,代码如下:

570a2ea97998265b2b169cc457d160fa.png

这种方式同样需要三次内存写入操作,同时代码可读性也较差。

最后附上两张三种方法编译后对应汇编代码对比图(平台:Ubuntu14.04,gcc 4.8.4),图中 swap1.c 文件对应临时变量法,swap2.c 文件对应加减方法,swap3.c 文件对应异或方法。可以看到,临时变量法编译出的汇编代码量最少即效率更高,加减法和异或方法的区别仅仅是计算方式不同而已,操作步骤是一致的。

图1: 临时变量法和加减法汇编代码对比

a2834861958ae88311c76904cfc19b68.png

图2: 异或方法和加减法汇编代码对比

6b4849ce5d3dd2a7370a9b90e9faada3.png

2b053377ae7b9b0a0f1f908947a532a0.png

Dotcpp题解接受大家发表各大OJ的题解
重点用户还会有礼品相送~
欢迎搜索c语言网

https://www.dotcpp.com/

f1527653e4753025d1e3a8898f323969.png