• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 71,  comments - 41,  trackbacks - 0
            ? 2003 by Charles C. Lin. All rights reserved.

            A Problem

            Suppose you have N different items. You wish to assign each item a unique k bit number, so you can refer to each of them by number, but you want to use as few bits as possible. That is, how small can you make k?

            To answer this question, it's useful to think of it from the other side. Suppose you are given k bits. How many different labels could you create?

            With k bits, there are 2k different bitstring patterns. Thus, there are 2k different labels.

            For example, if you have 3 bits, there are 8 possible bitstrings: 000, 001, 010, 011, 100, 101, 110, and 110. Therefore, you can label up to 8 different items with a unique 3 bit value.

            Suppose you wanted to identify 9 different items. 3 bits isn't enough. 4 bits is too many. With 4 bits, you can label 16 different items.

            Nevertheless, you need to use 4 bits. Thus, if you have to label N items with a unique k bit bitstring, and you want to minimize k, then you need to solve:

               N = 2k
            N is fixed. That is, you are specifying N. You want to find out k, realizing that with k bits, there are 2k possible bitstrings.

            To solve the formular, you take log base 2 of both sides. We use lg to represent log base 2.

               lg N = k
            
            Since lg N can be a fraction, and k must be an integer (we can't have fractional bits), then we need to round up.

            So,

               k = ceil( lg N )
            
            the minimum number of bits is the ceiling of lg N which we write as ceil( lg N ).

            So What?

            You might wonder why we care about labelling N different items with as few bits as possible.

            In hardware, everything is basically 0's and 1's. For example suppose you have 16 registers, and you want to select one of them. How would you do it? The sensible way to do it is to give each register a unique k-bit bitstring.

            Using the formula from the last section, we realize that you need ceil( lg 16 ) = 4. You need 4 bits to identify one of 16 different registers.

            You find this happening throughout hardware. You want to identify one of N things, and so you need to use ceil( lg N ) bits to do so.

            posted on 2007-01-23 15:30 Charles 閱讀(135) 評論(0)  編輯 收藏 引用
            <2007年1月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            決定開始寫工作日記,記錄一下自己的軌跡...

            常用鏈接

            留言簿(4)

            隨筆分類(70)

            隨筆檔案(71)

            charles推薦訪問

            搜索

            •  

            積分與排名

            • 積分 - 51400
            • 排名 - 449

            最新評論

            閱讀排行榜

            評論排行榜

            久久国产精品成人影院| 四虎国产精品免费久久久| 久久这里只有精品视频99| 国内精品久久国产| 久久ZYZ资源站无码中文动漫| 日本久久久久亚洲中字幕| 久久不见久久见免费影院www日本| 亚洲国产天堂久久综合| 亚洲va久久久噜噜噜久久| 久久久国产精品| 精品国际久久久久999波多野| 免费精品久久久久久中文字幕| 久久精品人人做人人妻人人玩| 亚洲综合久久夜AV | 国产精品久久久久AV福利动漫| yy6080久久| 精品久久久无码中文字幕| 9久久9久久精品| 亚洲va久久久噜噜噜久久男同| 久久午夜夜伦鲁鲁片免费无码影视| 亚洲国产精品久久久久网站| 国产精品美女久久久m| 久久精品国产男包| 欧美日韩精品久久久久| 91久久福利国产成人精品| 好属妞这里只有精品久久| 久久久久久国产精品免费无码| 亚洲精品国产美女久久久| 无码AV中文字幕久久专区| 伊人久久精品影院| 久久人人爽人人爽人人片AV东京热| 欧美久久久久久| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 久久精品国产亚洲综合色| 欧美黑人又粗又大久久久| 一本色道久久HEZYO无码| 久久精品国产色蜜蜜麻豆| 一本色道久久88综合日韩精品| 久久精品桃花综合| 婷婷久久香蕉五月综合加勒比| 国内精品人妻无码久久久影院导航|