2010年1月12日
摘要: Findthelogbase2ofanintegerwithalookuptablestaticconstcharLogTable256[]={0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 阅读全文
posted @ 2010-01-12 23:04 一个人的天空@ 阅读(620) 评论(0) 推荐(0) 编辑
摘要: http://graphics.stanford.edu/~seander/bithacks.htmlBitTwiddlingHacksBySeanEronAndersonseander@cs.stanford.eduIndividually,thecodesnippetshereareinthepublicdomain(unlessotherwisenoted)—feelfreetousethemhoweveryouplease.Theaggregatecollectionanddescriptionsare©1997-2005SeanEronAnderson.Thecod 阅读全文
posted @ 2010-01-12 23:01 一个人的天空@ 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 相比静态地分配内存空间,使用动态内存分配具有明显的优势:1,分配空间的大小够精确:设想一个读取用户输入行的程序,如果使用静态分配的数组作为buffer,那么,你如何确定该数组的长度呢?太大或太小都不合适.因为你无法事先知道用户输入字符串的长度.而使用动态内存分配就精准多了.2,静态分配的空间大小无法更改,而动态分配的内存大小是可调的.所以,理解C语言中的动态内存分配对于编写实用,有效,安全的程序来说必不可少.本文假设你使用C语言编程,且使用GNU/Linux系统.(其实由于现在的许多系统都是POSIX兼容的,本文的内容使用于任何操作系统,只是其中提到的某些工具仅存于GNU/Linux上.)要理 阅读全文
posted @ 2010-01-12 22:58 一个人的天空@ 阅读(303) 评论(0) 推荐(0) 编辑