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

            專注于服務(wù)器編程、網(wǎng)絡(luò)編程

            ~~保持一顆平常心~~持之以恒~~
            posts - 18, comments - 7, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            常用bit位操作函數(shù)

            Posted on 2010-04-27 21:55 ~William~ 閱讀(1349) 評論(0)  編輯 收藏 引用 所屬分類: C語言基礎(chǔ)

            /*

            @brief 測試一個數(shù)某一位是否為

            @param 被測試數(shù)據(jù)

            @param 測試位數(shù)

            @return false:0 true: 1

            */

            bool BitTest(int const *Base, int Offset)

            {

                 if (*Base>>Offset&0x01 == 1)

                 {

                     return 1;

                 }

                 else

                     return 0;

            }

             

            /*

            @brief 設(shè)置某一個位為

            @param 被設(shè)置數(shù)據(jù)

            @param 測試位數(shù)

            @return

            */

            bool BitSet(int *Base, int Offset)

            {

                 if (Base==NULL || Offset<0 && Offset>sizeof(int)*8-1)

                     return false;

                 int mask = 0x01;

                 *Base = (*Base) | (mask<<Offset);

                 return true;

            }

             

            /*

            @brief 重置某一位為

            @param 被設(shè)置數(shù)據(jù)

            @param 測試位數(shù)

            @return

            */

            bool BitReset(int *Base, int Offset)

            {

                 if (Base==NULL || Offset<0 && Offset>sizeof(int)*8-1)

                     return false;

                 int mask = 0x01;

                 *Base = (*Base) & ~(mask<<Offset);

                 return true;

            }

             

            /*

            @brief 取反某一位數(shù)據(jù)

            @param 被重置數(shù)據(jù)

            @param Offset

            */

            bool BitReverse(int *Base, int Offset)

            {

                 if (Base==NULL || Offset<0 && Offset>sizeof(int)*8-1)

                     return false;

                 int mask = 0x01;

                 if ((*Base>>Offset)&0x01 == 1)

                     *Base = (*Base) & ~(mask<<Offset);

                 else

                     *Base = (*Base) | (mask<<Offset);

            }

            久久av免费天堂小草播放| 国产精品99久久久精品无码| 无码精品久久久久久人妻中字| 久久人做人爽一区二区三区| 午夜精品久久久久久99热| 99久久99久久精品免费看蜜桃| 99久久亚洲综合精品网站| 亚洲欧洲精品成人久久曰影片| 97久久久久人妻精品专区 | 模特私拍国产精品久久| 日韩精品久久久肉伦网站| 久久精品国产亚洲av瑜伽| 久久久久亚洲av无码专区导航 | 日产精品久久久久久久性色| 99精品国产在热久久无毒不卡| 少妇久久久久久被弄到高潮| 久久国产免费观看精品| 久久精品中文无码资源站| 久久精品国产精品亚洲| 久久精品国产精品国产精品污| 伊人久久大香线蕉综合热线| 青草影院天堂男人久久| 色妞色综合久久夜夜| 囯产精品久久久久久久久蜜桃| 久久播电影网| 久久综合色区| 色婷婷狠狠久久综合五月| 国内精品久久久久国产盗摄| 久久免费视频观看| 97超级碰碰碰久久久久| 久久精品国产亚洲AV无码偷窥| 欧美熟妇另类久久久久久不卡 | 欧美777精品久久久久网| 亚洲国产精品无码久久一区二区| 中文精品99久久国产 | 国产精品久久自在自线观看| 久久综合给合久久国产免费 | 国产精品99久久久久久猫咪 | 97久久精品午夜一区二区| 一本久久a久久精品亚洲| 久久精品亚洲中文字幕无码麻豆|