• <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

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久久久久久| 99久久精品免费观看国产| 久久精品人人做人人爽电影| 狠狠色丁香久久婷婷综合蜜芽五月 | 99久久婷婷免费国产综合精品| 97r久久精品国产99国产精| 青青草原1769久久免费播放| 精品久久久久久无码不卡| 久久99国产精品99久久| 久久国产AVJUST麻豆| 69久久精品无码一区二区| 欧美久久久久久精选9999| 97久久天天综合色天天综合色hd| 久久亚洲国产精品123区| 99久久综合狠狠综合久久止| 一级a性色生活片久久无少妇一级婬片免费放 | 国产麻豆精品久久一二三| 欧美亚洲另类久久综合婷婷| 国产美女久久久| 伊人久久大香线蕉av不卡| 亚洲人成无码网站久久99热国产 | 精品国产乱码久久久久软件| 国产L精品国产亚洲区久久| 久久亚洲中文字幕精品有坂深雪| 久久久久国产| 国产精品日韩欧美久久综合| 久久99精品久久只有精品| 久久丫精品国产亚洲av| 精品久久久无码21p发布| 2021最新久久久视精品爱| 香蕉aa三级久久毛片| 久久成人18免费网站| 久久国产精品一区| 国产亚洲美女精品久久久| 精品无码久久久久久久久久| 99久久夜色精品国产网站| AA级片免费看视频久久| 久久国产视屏| 亚洲精品无码久久不卡| 久久成人国产精品免费软件| 亚洲成色WWW久久网站|