• <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 閱讀(130) 評論(0)  編輯 收藏 引用
            <2007年1月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

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

            常用鏈接

            留言簿(4)

            隨筆分類(70)

            隨筆檔案(71)

            charles推薦訪問

            搜索

            •  

            積分與排名

            • 積分 - 50780
            • 排名 - 448

            最新評論

            閱讀排行榜

            評論排行榜

            精品无码人妻久久久久久| 色婷婷综合久久久久中文字幕| 怡红院日本一道日本久久| 国产精品无码久久综合| 国产精品无码久久综合网| 亚洲AⅤ优女AV综合久久久| 亚洲乱码精品久久久久.. | 国产精品久久久久久影院 | 久久久精品国产sm调教网站| 久久精品国产亚洲AV无码娇色| 麻豆精品久久精品色综合| 99久久这里只精品国产免费| 国产精品99久久免费观看| 色播久久人人爽人人爽人人片aV | 99久久国产综合精品女同图片| 久久久久人妻精品一区| 婷婷久久精品国产| A狠狠久久蜜臀婷色中文网| 亚洲欧美国产精品专区久久| 久久精品一区二区三区不卡| 思思久久精品在热线热| 国产精品综合久久第一页| 国产成年无码久久久久毛片| 一级女性全黄久久生活片免费 | 伊人久久大香线蕉亚洲五月天| 久久国产精品久久国产精品| 狠狠色丁香久久婷婷综合_中| 一级做a爱片久久毛片| 国产精品国色综合久久| 色偷偷久久一区二区三区| 亚洲国产香蕉人人爽成AV片久久 | 青草国产精品久久久久久| 无码八A片人妻少妇久久| 久久婷婷色综合一区二区| 国产叼嘿久久精品久久| 久久免费视频网站| 午夜天堂精品久久久久| 色狠狠久久AV五月综合| 色综合久久中文字幕无码| 精品久久久久中文字幕日本| 色综合久久久久久久久五月|