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

            最新評論

            閱讀排行榜

            評論排行榜

            伊人久久国产免费观看视频| 久久精品国产第一区二区三区| 久久99精品国产麻豆婷婷| 狠狠色伊人久久精品综合网 | 久久久久久久久久免免费精品 | 亚洲天堂久久久| 国产精品青草久久久久婷婷 | 99久久精品免费看国产一区二区三区| 精品国产乱码久久久久久郑州公司| 91精品国产高清久久久久久91 | 久久午夜电影网| 久久精品国产2020| 开心久久婷婷综合中文字幕| 伊人色综合久久天天人手人婷| 久久精品国产99久久丝袜| 九九久久99综合一区二区| 亚洲AV无码久久精品成人| 久久www免费人成精品香蕉| 久久精品国产网红主播| 久久99热这里只频精品6| 久久99精品久久久久久野外| 久久不射电影网| 国产综合久久久久| 久久久无码人妻精品无码| 一本一本久久A久久综合精品| 人妻无码久久精品| 久久久精品人妻无码专区不卡 | 日韩精品国产自在久久现线拍| 久久精品国产第一区二区三区| 久久久无码精品亚洲日韩京东传媒| 狠狠人妻久久久久久综合| 亚洲综合婷婷久久| 国产69精品久久久久99| 色综合久久久久网| 精品无码久久久久久国产| 久久AAAA片一区二区| 久久国产V一级毛多内射| 性高朝久久久久久久久久| 久久久久亚洲AV成人网| 伊人久久亚洲综合影院| 久久精品国产亚洲av麻豆图片|