C#中獲取byte第四位和高四位方法和獲取設置byte每一位的值


C#低四位

      public static int GetLow4(byte data)
        {//獲取低四位
            return data & 0x0f;
        }

C#高四位

        public static int getHeight4(byte data)
        {//獲取高四位
            return (data & 0xf0) >> 4;
        }

C#獲取每一位的值

        /// <summary>
        /// 獲取字節中的指定Bit的值
        /// </summary>
        /// <param name="this">字節</param>
        /// <param name="index">Bit的索引值(0-7)</param>
        /// <returns></returns>
        public static int GetBit(byte data, short index)
        {
            byte x = 1;
            switch (index)
            {
                case 0: { x = 0x01; } break;
                case 1: { x = 0x02; } break;
                case 2: { x = 0x04; } break;
                case 3: { x = 0x08; } break;
                case 4: { x = 0x10; } break;
                case 5: { x = 0x20; } break;
                case 6: { x = 0x40; } break;
                case 7: { x = 0x80; } break;
                default: { return 0; }
            }
            return (data & x) == x ? 1 : 0;
        }

C#中關於獲取查看二進制的方法,還有這么一種

byte b = 200;
string s = Convert.ToString(b, 2);

 

C#設置每一位的值(這個我其實看不懂,不知道對不對,有點渣)

        /// <summary>
        /// 設置某一位的值
        /// </summary>
        /// <param name="data">需要設置的byte數據</param>
        /// <param name="index">要設置的位, 值從低到高為 1-8</param>
        /// <param name="flag">要設置的值 true / false</param>
        /// <returns></returns>
        public static byte set_bit(byte data, int index, bool flag)
        {
            if (index > 8 || index < 1)
                throw new ArgumentOutOfRangeException("位過8或小於1是不可以的");
            int v = index < 2 ? index : (2 << (index - 2));
            return flag ? (byte)(data | v) : (byte)(data & ~v);
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 C# 獲取一個byte數據中某一位的值 【java/regexp】將字符串中從第四位到第七位替換成星號 C# 設置和獲取一個字節的某一位的值的方法 [轉]C# 設置和獲取一個字節的某一位的值的方法 某個公司采用公用電話傳遞數據,數據是四位的整數, 在傳遞過程中是加密的,加密規則如下: 每位數字都加上5,然后用和除以10的余數代替該數字, *再將第一位和第四位交換,第二位和第三位交換。 【JAVA習題三十四】某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。 某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的, 加密規則如下:每位數字都加上5,然后用除以10的余數代替該數字,再將第一位和第四位交換, 第二位和第三位交換,請編寫一個函數,傳入原文,輸出密文 某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字 都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換 C# double保留四位小數 輸入1個四位數,將其加密輸出。方法是將該數每一位上的數字加9,然后除以10取余,做為該位上的新數字,最后將第1位和第3位上的數字互換,第2位和第4位上的數字互換,組成加密后的新數。
 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM