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

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

            常用鏈接

            留言簿(4)

            隨筆分類(70)

            隨筆檔案(71)

            charles推薦訪問

            搜索

            •  

            積分與排名

            • 積分 - 50447
            • 排名 - 449

            最新評論

            閱讀排行榜

            評論排行榜

            国产成人久久777777| 久久久99精品一区二区| 国产精品无码久久四虎| 亚洲成色www久久网站夜月| 亚洲国产成人久久综合野外| 久久夜色精品国产亚洲| 久久国产欧美日韩精品| 久久99精品国产99久久6男男| 久久久久AV综合网成人| 国产精品成人久久久久久久| 青青国产成人久久91网| 久久久久亚洲AV无码专区体验| 久久99精品久久久久久hb无码| www久久久天天com| 97久久国产综合精品女不卡 | 精品欧美一区二区三区久久久| 亚洲国产精品嫩草影院久久 | 久久精品亚洲一区二区三区浴池| 久久本道伊人久久| 99久久99久久精品国产片果冻| 亚洲国产精品无码久久久秋霞2| 品成人欧美大片久久国产欧美...| 少妇精品久久久一区二区三区| 国产精品永久久久久久久久久 | 婷婷久久久亚洲欧洲日产国码AV | 国产成人综合久久久久久| 囯产精品久久久久久久久蜜桃| 香港aa三级久久三级老师2021国产三级精品三级在 | 亚洲中文字幕无码久久精品1| 久久乐国产精品亚洲综合| 狠狠色丁香久久婷婷综合蜜芽五月 | 欧美精品丝袜久久久中文字幕 | 久久www免费人成看国产片| 国内精品久久久久伊人av| 久久超碰97人人做人人爱| 久久综合狠狠综合久久综合88| 久久九九精品99国产精品| 久久国产精品-久久精品| 免费精品久久天干天干| 国产91色综合久久免费分享| 久久综合亚洲色HEZYO国产|