﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-内核开发空间</title><link>http://www.cnitblog.com/syq/</link><description /><language>zh-cn</language><lastBuildDate>Mon, 09 Mar 2026 18:55:57 GMT</lastBuildDate><pubDate>Mon, 09 Mar 2026 18:55:57 GMT</pubDate><ttl>60</ttl><item><title>我的劲头更大了：）</title><link>http://www.cnitblog.com/syq/archive/2007/06/06/28144.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Wed, 06 Jun 2007 15:38:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/06/06/28144.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/28144.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/06/06/28144.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/28144.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/28144.html</trackback:ping><description><![CDATA[今天看那本讲AMI bios的书，看到上边书有BIOS的前途是如此大好啊，将来的工资能够达到5位数阿。<br>心里那个爽啊，继续努力搞我那有前途的bios吧。<br><br><img src ="http://www.cnitblog.com/syq/aggbug/28144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-06-06 23:38 <a href="http://www.cnitblog.com/syq/archive/2007/06/06/28144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个有关记忆的网站</title><link>http://www.cnitblog.com/syq/archive/2007/06/05/28085.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Tue, 05 Jun 2007 09:06:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/06/05/28085.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/28085.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/06/05/28085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/28085.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/28085.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/syq/archive/2007/06/05/28085.html'>阅读全文</a><img src ="http://www.cnitblog.com/syq/aggbug/28085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-06-05 17:06 <a href="http://www.cnitblog.com/syq/archive/2007/06/05/28085.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>强烈推荐《下班抓紧谈恋爱》</title><link>http://www.cnitblog.com/syq/archive/2007/06/01/27881.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Thu, 31 May 2007 17:10:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/06/01/27881.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/27881.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/06/01/27881.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/27881.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/27881.html</trackback:ping><description><![CDATA[真的非常强烈的推荐这部又声小说《下班抓紧谈恋爱》。<br>他让我知道了，我到底需要什么样的爱情，什么是爱情，真正的爱情。<br>两个晚上的时间花的值得。<br><br><br><img src ="http://www.cnitblog.com/syq/aggbug/27881.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-06-01 01:10 <a href="http://www.cnitblog.com/syq/archive/2007/06/01/27881.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>四个人的故事（不看后悔）</title><link>http://www.cnitblog.com/syq/archive/2007/05/25/27581.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Fri, 25 May 2007 03:01:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/05/25/27581.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/27581.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/05/25/27581.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/27581.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/27581.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/syq/archive/2007/05/25/27581.html'>阅读全文</a><img src ="http://www.cnitblog.com/syq/aggbug/27581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-05-25 11:01 <a href="http://www.cnitblog.com/syq/archive/2007/05/25/27581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我的桌面：）</title><link>http://www.cnitblog.com/syq/archive/2007/05/24/27564.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Thu, 24 May 2007 11:24:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/05/24/27564.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/27564.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/05/24/27564.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/27564.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/27564.html</trackback:ping><description><![CDATA[<img alt=""  src="http://www.cnitblog.com/images/cnitblog_com/syq/screen.png" height="768" width="1024"><br><img src ="http://www.cnitblog.com/syq/aggbug/27564.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-05-24 19:24 <a href="http://www.cnitblog.com/syq/archive/2007/05/24/27564.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BIOS Types, CHS Translation, LBA and Other Good Stuff</title><link>http://www.cnitblog.com/syq/archive/2007/05/18/27199.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Fri, 18 May 2007 07:34:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/05/18/27199.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/27199.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/05/18/27199.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/27199.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/27199.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/syq/archive/2007/05/18/27199.html'>阅读全文</a><img src ="http://www.cnitblog.com/syq/aggbug/27199.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-05-18 15:34 <a href="http://www.cnitblog.com/syq/archive/2007/05/18/27199.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>bitwise operations</title><link>http://www.cnitblog.com/syq/archive/2007/05/18/27189.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Fri, 18 May 2007 01:29:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/05/18/27189.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/27189.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/05/18/27189.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/27189.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/27189.html</trackback:ping><description><![CDATA[<h3>Bitwise Operations</h3>
<p>It's fairly convoluted though very efficient to encode lots of
pieces of Boolean information into a single integer variable. Normal
arithmetic and logical operations on such integer variables become
unintuitive since we're not usually concerned with the value of the
variables (e.g., 17) but rather with the status of individual bits
(say, the first and fifth bits are set, all other bits are unset).</p>
<p>
This page presents some bitwise operations I found useful while writing
an extremely CPU-intensive ray-tracer. C syntax is used but the
techniques can be applied to other languages including Java, often with
only minor syntax changes.
</p>
<h4>Tests</h4>
<ul>
    <li>
    <p>Is a power of two:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp; (v-1) == 0</font></code><br><br><br></p>
    </li>
    <li>
    <p>Has two or more set bits:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp; (v-1) &gt; 0</font></code><br><br><br></p>
    </li>
    <li>
    <p>Has exactly one set bit:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp;&amp; (v &amp; (v-1) == 0) == true</font></code><br><br><br></p>
    </li>
    <li>
    <p>Has all specified bits set:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp; bits == bits</font></code><br><br><br></p>
    </li>
    <li>
    <p>Has at least one specified bit set:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp; bits &gt; 0</font></code><br><br><br></p>
    </li>
</ul>
<h4>Operations</h4>
<ul>
    <li>
    <p>Toggle specific bits:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v ^= b;</font></code><br><br><br></p>
    </li>
    <li>
    <p>Set a bit:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v |= b;</font></code><br><br><br></p>
    </li>
    <li>
    <p>Unset a bit:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp;= ~b;</font></code><br><br><br></p>
    </li>
    <li>
    <p>Unset all bits apart from lowest set bit:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;((v ^ (v-1)) + 1) &gt;&gt; 1</font></code><br><br><br></p>
    </li>
    <li>
    <p>Unset the lowest set bit only:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;v &amp;= (v-1)</font></code><br><br><br></p>
    </li>
</ul>
<h4>Other</h4>
<ul>
    <li>
    <p>Count number of set bits:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;int n = 0; if (v) do { n++; } while (v &amp;= (v-1)); return(n);</font></code><br><br><br></p>
    </li>
    <li>
    <p>Compute log2 of a power of two:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;float x=v; return (*(int*)&amp;x &gt;&gt; 23) - 127;</font></code><br><br><br></p>
    </li>
    <li>
    <p>Compute minimum of two signed 32-bit integers:<br><br><code><font color="blue">&nbsp;&nbsp;&nbsp;&nbsp;j + (((i-j) &gt;&gt; 31) &amp; (i-j))</font></code></p>
    </li>
</ul><img src ="http://www.cnitblog.com/syq/aggbug/27189.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-05-18 09:29 <a href="http://www.cnitblog.com/syq/archive/2007/05/18/27189.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SECURITY PASSWORD SYSTEM</title><link>http://www.cnitblog.com/syq/archive/2007/04/27/26289.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Fri, 27 Apr 2007 09:21:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/04/27/26289.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/26289.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/04/27/26289.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/26289.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/26289.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/syq/archive/2007/04/27/26289.html'>阅读全文</a><img src ="http://www.cnitblog.com/syq/aggbug/26289.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-04-27 17:21 <a href="http://www.cnitblog.com/syq/archive/2007/04/27/26289.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux storage cornucopia</title><link>http://www.cnitblog.com/syq/archive/2007/04/26/26211.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Thu, 26 Apr 2007 02:22:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/04/26/26211.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/26211.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/04/26/26211.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/26211.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/26211.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cnitblog.com/syq/archive/2007/04/26/26211.html'>阅读全文</a><img src ="http://www.cnitblog.com/syq/aggbug/26211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-04-26 10:22 <a href="http://www.cnitblog.com/syq/archive/2007/04/26/26211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>今日捕获3个好的连接</title><link>http://www.cnitblog.com/syq/archive/2007/04/25/26166.html</link><dc:creator>yongqing</dc:creator><author>yongqing</author><pubDate>Wed, 25 Apr 2007 06:05:00 GMT</pubDate><guid>http://www.cnitblog.com/syq/archive/2007/04/25/26166.html</guid><wfw:comment>http://www.cnitblog.com/syq/comments/26166.html</wfw:comment><comments>http://www.cnitblog.com/syq/archive/2007/04/25/26166.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/syq/comments/commentRss/26166.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/syq/services/trackbacks/26166.html</trackback:ping><description><![CDATA[改日细看看，其中两个台湾牛人的blog，其中一个人据说大陆百万年薪都没请动。<br>另一个连接乃是Linux下面系统hardware manage的一些软件。<br><a href="http://www.ibiblio.org/pub/Linux/system/hardware/!INDEX.html">http://www.ibiblio.org/pub/Linux/system/hardware/!INDEX.html</a><br><a href="http://orzlab.blogspot.com/http://blog.linux.org.tw/~jserv/">http://orzlab.blogspot.com<br>/<font style="BACKGROUND-COLOR: #ffffff" color=#800080>http://blog.linux.org.tw/~jserv/</a></font><img src ="http://www.cnitblog.com/syq/aggbug/26166.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/syq/" target="_blank">yongqing</a> 2007-04-25 14:05 <a href="http://www.cnitblog.com/syq/archive/2007/04/25/26166.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>