<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XuGang

      記錄一個程序員的成長

       

      什么是BCD 碼

       

      BCD碼(Binary-Coded Decimal?)亦稱二進(jìn)碼十進(jìn)數(shù)或二-十進(jìn)制代碼。用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個數(shù)碼。是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代 碼。BCD碼這種編碼形式利用了四個位元來儲存一個十進(jìn)制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。這種編碼技巧最常用于會計系統(tǒng)的設(shè)計里,因 為會計制度經(jīng)常需要對很長的數(shù)字串作準(zhǔn)確的計算。相對于一般的浮點式記數(shù)法,采用BCD碼,既可保存數(shù)值的精確度,又可免卻使電腦作浮點運算時所耗費的時 間。此外,對于其他需要高精確度的計算,BCD編碼亦很常用。

      來源:http://baike.baidu.com/view/45179.htm

       

      BCD 編碼解碼函數(shù)如下:

      /// <summary>
      /// BCD解碼
      /// </summary>
      /// <param name="b"></param>
      /// <returns></returns>
      public static byte UnpackBCD(byte b)
      {
          //高四位
          byte b1 = (byte)(b >> 4);
          //低四位
          byte b2 = (byte)(b & 0x0F);
      
          return (byte)(b1 * 10 + b2);
      }
      
      
      /// <summary>
      /// BCD編碼
      /// </summary>
      /// <param name="b"></param>
      /// <returns></returns>
      public static byte PackBCD(byte b)
      {
          //高四位
          byte b1 = (byte)(b / 10);
          //低四位
          byte b2 = (byte)(b % 10);
      
          return (byte)((b1<<4)|b2);
      }

       

      BCD 編碼測試,代碼如下:

      class Program
      {
          // BCD編碼
          public static byte PackBCD(byte b)
          {
              //高四位
              byte b1 = (byte)(b / 10);
              //低四位
              byte b2 = (byte)(b % 10);
      
              return (byte)((b1 << 4) | b2);
          }
      
          static void Main(string[] args)
          {
              byte[] buff = new byte[2];
              DateTime date = DateTime.Now;
      
              byte in_Month = (byte)(date.Month);
              byte in_Day = (byte)(date.Day);
              Console.WriteLine(in_Month.ToString() +"  "+ in_Day.ToString());
      
              buff[0] = PackBCD(in_Month);
              buff[1] = PackBCD(in_Day);
      
              Console.WriteLine(buff[0].ToString() + "  " + buff[1].ToString());
              Console.ReadKey();
          }
      }

      結(jié)果如下:

      可以看出,月份4進(jìn)行BCD編碼后沒有改變,23日進(jìn)行BCD編碼后變成了35。

       

      BCD 解碼測試,代碼如下:

      class Program
      {
          // BCD解碼
          public static byte UnpackBCD(byte b)
          {
              //高四位
              byte b1 = (byte)(b >> 4);
              //低四位
              byte b2 = (byte)(b & 0x0F);
      
              return (byte)(b1 * 10 + b2);
          }
      
          static void Main(string[] args)
          {
              byte[] buff = new byte[2] { 0x04, 0x23 };
              Console.WriteLine(buff[0].ToString() + "  " + buff[1].ToString());
      
              byte in_Month = UnpackBCD(buff[0]);
              byte in_Day = UnpackBCD(buff[1]);
      
              Console.WriteLine(in_Month.ToString() + "  " + in_Day.ToString());
              Console.ReadKey();
          }
      }

      結(jié)果如下:

      可以看出,月份4進(jìn)行BCD解碼后沒有改變,35進(jìn)行BCD解碼后還原成了23日。

       

      posted on 2012-04-23 15:27  鋼鋼  閱讀(8498)  評論(0)    收藏  舉報

      導(dǎo)航

      主站蜘蛛池模板: 国产午夜福利大片免费看| 亚洲中文字幕无码不卡电影| аⅴ天堂中文在线网| 亚洲精品岛国片在线观看| 九九热99精品视频在线| 亚洲日韩日本中文在线| 国产成人高清在线重口视频| 四虎在线播放亚洲成人| 国产在线观看91精品亚瑟| 成人动漫综合网| 午夜精品福利亚洲国产| 精品熟女少妇免费久久| 中文字幕亚洲人妻一区| 亚洲av综合久久成人网| 天堂va亚洲va欧美va国产| 日韩中文字幕高清有码| 国产熟睡乱子伦视频在线播放| 国产成人啪精品午夜网站| 一本色道久久东京热| 精品久久欧美熟妇www| 激情四射激情五月综合网| 亚洲国产午夜精品福利| 东明县| 日本韩无专砖码高清观看| 亚洲V天堂V手机在线| 安岳县| 欧美一区二区三区欧美日韩亚洲 | 2021国产精品视频网站| 日韩理伦片一区二区三区| 欧美性白人极品hd| 一本色道婷婷久久欧美| 国产国产乱老熟女视频网站97| 亚洲中文字幕第二十三页| 国产精品免费中文字幕| 国产精品乱子乱xxxx| 九九热在线视频免费观看| 亚洲成色精品一二三区| av中文字幕国产精品| 国产精品小粉嫩在线观看| 99精品人妻少妇一区二区| 午夜通通国产精品福利|