基本方法原理:http://www.cnblogs.com/whoislcj/p/5708778.html
详解相关函数:http://blog.csdn.net/easyer2012/article/details/37900583