Nullreference Q&A 编程技术问答社区
第一次访问本站?请查看 FAQ!
x
+2 投票
176 浏览

C# 怎么把十进制数转换成二进制数呢?
比如把 26.35 转换成二进制数。

最新提问 5月 17, 2016 分类:C# | 用户: pegram | 176 浏览
怎么用 C 语言转换呢?
@cdnet 你可以单独再对这个问题提一个问题。

1个回答

+1 投票
已采纳

你是要把 double 转成二进制,在 C# 中可以用 Convert.ToString(int, 2) 把 int 转成二进制。要把 double 转成二进制就要先把 double 转成 int64,然后把 int64 转成二进制,把二进制转成 double 的顺序相反。

using System;

namespace Overflow.com.cn
{
	public class Program
	{
		public static void Main(string[] args)
		{
			double i = 26.35;
			long m = BitConverter.DoubleToInt64Bits(i); // 将 double 转成 Int64
			string str = Convert.ToString(m, 2); // 将 Int64 转成二进制字符串
			Console.WriteLine(str);
			
			long n = Convert.ToInt64(str, 2); // 将二进制字符串转成 Int64
			double x = BitConverter.Int64BitsToDouble(n); // 将 Int64 转成 double
			Console.WriteLine(x);
		}
	}
}

运行代码 http://rextester.com/SWMBC81907

输出结果

100000000111010010110011001100110011001100110011001100110011010
26,35

最新回答 5月 17, 2016 用户: snoopy (1,760 分)
采纳于 5月 19, 2016 用户:Walt