摘要:1.如果将a、b的值进行交换,并且不适用任何中间变量? a = a ^ b; b = a ^ b; a = a ^ b;这三行代码也算是经典吧,对我等菜鸟程序员而言。因为本人生平很少用到这个异或操作符,或者说位操作符都很少用到,只是听说了而已。第一行,a = a^b,a 的值改变了,但是记录了a^b的结果,而且可以说异或的结果是可逆的。正如负负得正一样,a^b^b = a; (a^b)^a = b。2.下面代码的作用int f(int x, int y){ return (x&y) + ((x^y)>>1);}x&y的结果,是将他们当中相同的位,都保留了下来;而x^
阅读全文
摘要:不知你是否也是一个常年在MFC下编程的程序员,有的时候是否忘记了在MFC之前是如何写画窗口的了呢,或者你从来都只是机械的在MFC下面写代码,已经麻木了。其实有一个很简单的方法,或许能够帮你更清楚的了解WINDOW是怎么产生的。随便用什么版本的VS,在创建win32工程的时候,直接创建WINDOW类型的就OK了。然后,来研究下产生的源代码吧。// Global Variables:HINSTANCE hInst; // current instanceTCHAR szTitle[MAX_LOADSTRING]; ...
阅读全文
摘要:—— CString 转 char *http://hi.baidu.com/yiduihaodadelaji/blog/item/ffee43240a35582dd5074248.html1.传给未分配内存的const char* (LPCTSTR)指针. CString cstr(asdd); const char* ch = (LPCTSTR)cstr; ch指向的地址和cstr相同。但由于使用const保证ch不会修改,所以安全.2.传给未分配内存的指针. CString cstr = "ASDDSD"; char *ch = cstr.GetBuffer(cstr
阅读全文
摘要:所谓魔方阵,指的是1~n*n共n*n个自然数,排列成nXn的方阵,使得该方阵的每行、每列、对角线元素之和相等,并为只与n有关的常数,该常数为(1/2)nX(nXn+1)。假定阵列的行列下标都从1开始,则魔方阵的生成方法如下:1.在第1行中间置1;2.假定当前元素的下标为(i,j),则对其余的2~n*n个数,基本的放置位置为当前位置的右上方,即下标为(i-1,j+1)。与此同时,若当前的数是n的倍数,则放在当前位置的正下方,即下标为(i+1,j);若i-1小于1,则将这个数放在本列的最下端;若j+1大于n,则将这个数放在本行的最左端。Code highlighting produced by A
阅读全文
摘要:这是个经典的算法,我就不多说了。下面的代码不是我原创的,收集一下这些经典算法的实现,供自己和有兴趣的朋友学习学习。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 #include "stdafx.h" 2 #include 3 #include 4 5 int place(int k, int*x); 6 void queens(int n); 7 void main() 8 { 9 queens(8);10 sys
阅读全文
摘要:天天对着电脑编程,呃,有时候挺枯燥的,所以还是找点乐子吧。捡到一本好书,里面是一些各种各样有趣的小算法的书。COPY下,顺便练练手,活动活动大脑。代码挺简单的,就是调用随机函数生成扑克牌的随机序列,然后输出。虽然这段代码挺简单的,但是还是加点说明吧。我也理一下思路,顺便减少大家理解代码的时间。wSuit[4]这个数组里储存的是扑克牌的花色,wFace[13]存的是扑克牌的值。wDeck[4][13]用来存放随机生成的扑克牌序列。shuffle这个函数的作用:让card这个值从1循环到52,在每一次循环中,随机生成与前面生成不同的行和列,然后wDeck[列][行]=card的当前值。deal这个
阅读全文
摘要:第一次配置花了好久才成功,结果遗憾的是忘记总结,所以这次配又花了多时间,看来真的要总结下来。下载cuda setup需要的driver、toolkit并安装. 网址: http://www.nvidia.com/object/cuda_develop.htm 。在安装过程中,会提醒你是否把sdk和toolkit的设置加入到VS的开发环境中,这里要选择是。安装openhero设计的CUDA_VS_Wizard_W32.2.0,可以免去很多繁琐的配置过程。在csdn上可以下到:http://download.csdn.net/source/1111497,这样cuda环境基本搭建起来了。很重要的是
阅读全文