在不申请新内存空间条件下交换两个数的值
2018-09-26 12:31
267 查看
只是觉得这个问题很好玩,在此记录一下:
下面使用编程语言中的‘^’,即异或操作符来完成异或运算,如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
第一次:
2与4进行异或运算,计算过程如下
a被赋值为6,二进制表示110
第二次:
6与4进行异或运算,此处就将变量a原来的值赋予了变量b:
变量b被赋值为2,交换获得a变量原来的值
第三次:
6与2进行异或运算,变量a交换获得原来变量b的值,完成
加法更加容易
相关文章推荐
- 在不申请新内存空间条件下交换两个数的值
- 不再申请存储空间,怎样交换两个数? 要求无BUG
- Linux学习记录--内存交换空间的构建
- 使用dma_alloc_writecombine申请内存空间大小的限制
- 结构体在使用之前必须申请空间,即为此分配内存
- 要求:不申请变量和空间 反转字符串 ,用一个函数实现。 异或^交换或者加减交换的典型应用! VIA 笔试题
- 内存交换空间(swap)的构建
- C#申请大内存空间的二维数组
- 【刷题之路】不使用额外空间交换两个数
- Linux学习记录--内存交换空间的构建
- 不用辅助内存交换两个数的值
- [简记]内核中申请内存和用户空间中申请内存的函数(kmalloc/vmalloc/malloc)对比
- 申请数组内存空间时做了哪些事情
- 在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
- #define ROUND(x,y) (((x)+(y-1))&~(y-1))申请内存空间时,为了减少内存碎片
- 动态链表的创建、节点内存空间申请以及释放
- 【经典面试题】有关指针、内存空间如何申请调用的问题
- 完全释放申请的内存空间
- linux驱动开发--内核空间中内存的申请与释放
- 内存空间申请(C)