C# 二进制转换十进制的问题

风之影子 2008-12-24 03:07:16
用SerialPort控件进行接收串口数据时是二进制。
如何把二进制转换为十六进制显示在文本框中!


还望指点!
...全文
829 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhwydwfg 2010-05-23
  • 打赏
  • 举报
回复
fyxiaowan 2010-04-16
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
bbbbbb888888 2008-12-24
  • 打赏
  • 举报
回复
3L正解
flyjimi 2008-12-24
  • 打赏
  • 举报
回复

byte[] bytes = {0, 1, 2, 4, 8, 16, 32, 64, 128, 255 };
Console.WriteLine( BitConverter.ToString( bytes ) );


输出:
00-01-02-04-08-10-20-40-80-FF
koukoujiayi 2008-12-24
  • 打赏
  • 举报
回复
string b="1001001111";//二进制
//二进制转十进制
int a=Convert.ToInt32(b, 2);
//使进制转十六进制
TextBox1.Text=Convert.ToString(a, 16);
风之影子 2008-12-24
  • 打赏
  • 举报
回复
问一个简单的问题。
我的串口现在用

this.txtInceptValues.Text = this.txtInceptValues.Text + this.selMonitor.ReadExisting().ToString();


读出来的数据是十进制的。
可是单片机下面返回到串口的是二进制的数据。
这是为什么。
michaelnami 2008-12-24
  • 打赏
  • 举报
回复
string str ;

for (int i = 0; i < test.Length; i++)

{

str += string.Format("{0:X}", test[i]);

}
wuyq11 2008-12-24
  • 打赏
  • 举报
回复
int intTen = Convert.ToInt32(textBox1.Text.Trim(), 2);
textBox2.Text = Convert.ToString(intTen, 16);
gomoku 2008-12-24
  • 打赏
  • 举报
回复

byte[] received = {12,34,45,78,90, 0xFF, 0x0, 0xcc};
string hexString = BitConverter.ToString(received); //<---
textBox1.Text = hexString;
MessageBox.Show( hexString );
Zhanlixin 2008-12-24
  • 打赏
  • 举报
回复
string str="11100011";
int intValue = Convert.ToInt32(str ,2);
TextBox1.Text= Convert.ToString(intValue, 16);
zgke 2008-12-24
  • 打赏
  • 举报
回复
byte[] T = new byte[4];
T[0] = 100;
T[1] = 101;
T[2] = 102;
T[3] = 103;

MessageBox.Show(BitConverter.ToString(T).Replace('-',' ');
风之影子 2008-12-24
  • 打赏
  • 举报
回复
第一:现在就是不会从串口提取二进制的数据。

第二:再转换为十进制

第三:或者转换为十六进制。

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧