• <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)  編輯 收藏 引用
            <2006年11月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

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

            常用鏈接

            留言簿(4)

            隨筆分類(70)

            隨筆檔案(71)

            charles推薦訪問

            搜索

            •  

            積分與排名

            • 積分 - 50764
            • 排名 - 448

            最新評論

            閱讀排行榜

            評論排行榜

            国产激情久久久久影院小草| 久久青青草视频| 91久久精品无码一区二区毛片| 久久香蕉综合色一综合色88| 久久精品无码专区免费| 久久久久亚洲AV成人网人人网站| 久久久久久久97| 亚洲色欲久久久久综合网| 久久精品国产亚洲AV香蕉| 欧美日韩成人精品久久久免费看| 亚洲va久久久噜噜噜久久狠狠| 日本免费一区二区久久人人澡| 少妇无套内谢久久久久| 色成年激情久久综合| 精品久久8x国产免费观看| 天天综合久久一二三区| 久久香蕉综合色一综合色88| 亚洲va久久久噜噜噜久久男同| 久久精品亚洲乱码伦伦中文| 亚洲精品国产成人99久久| 热re99久久精品国99热| 偷窥少妇久久久久久久久| 无码任你躁久久久久久久| 麻豆精品久久久一区二区| 久久久老熟女一区二区三区| 青青热久久国产久精品 | 亚洲国产精品成人久久| 亚洲国产成人久久一区久久| 久久久久国产精品麻豆AR影院| 久久亚洲欧美日本精品| 丰满少妇人妻久久久久久| 少妇久久久久久被弄高潮| 国产成年无码久久久免费| 亚洲欧洲久久av| 精品国产99久久久久久麻豆| 777午夜精品久久av蜜臀| 精品熟女少妇AV免费久久| A级毛片无码久久精品免费| 午夜欧美精品久久久久久久| 久久精品国产精品亚洲毛片| 996久久国产精品线观看|