C#:转为二进制

   今天整理口袋DP存档资料时,也在写读取存档数据的功能,遇到了一个关于二进制的问题。
   一个Byte转为二进制值为8Bit,有的Bit有特定的用途,要怎么才能得到这一位的Bit值呢?
   一时想不到方法,就到CSDN论坛上搜了一下,以关键字“二进制”搜到了一些,但与我想要的不符,但是从中得到了提示。

   上面写到的是将二进制转为十进制、十六进制,使用Convert.ToXXXXX("01的二进制值",2);,然后就联想到,能不能将Byte、int之类的值转为2进制的String,这样就得到二进制值了,好像也是“逆运算”吧。
   随便测试了一下,用了Convet.ToString(0xA,2);,得到的值是"1010",对了!就是这个!

   想到我要的是8位,而这才4位,得在前面补上0才行,就用了:Convet.ToString(0xA,2).PadLeft(8,'0');,加粗部分就是不足位则在左边补充。

   想到这里,也测试通过,自己想要的结果也渐渐明朗,不过又出现新的问题。
   在读取数据时,我使用的是ReadUInt16,不得不用16位的,怎么办?
   对了,弄成数组好了,从中调出要读取的那部分。这里就没再仔细想,困了,早点睡,明天还得早起出发,回家啰~~~

2008-1-9 21:38:37



attachments/200801/7346551423.jpg
attachments/200801/7883037616.jpg
引用通告地址: 点击获取引用地址
标签: 编程 C#
评论: 0 | 引用: 0 | 阅读: 1072
 加入网摘
发表评论
昵 称(*): 密 码:
网 址: 邮 箱:
选 项:    
内 容(*):