【发布时间】:2016-03-22 21:08:45
【问题描述】:
要将整数值手动转换为二进制字符串,您(一种技术是)连续除以 2 直到商 > 0 并以相反的顺序附加余数。
string decimalToBinary(int n)
{
string binary = string.Empty;
while (n > 0)
{
// get the LSB
int remainder = n % 2;
// truncate the LSB
n /= 2;
// insert remainder in front
binary = remainder.ToString() + binary;
}
return binary;
}
但是,我不知道如何将分数(浮点数,例如 -0.30)转换为二进制字符串。更具体地说,我应该使用什么算法。有人可以提出一个想法吗?
【问题讨论】:
-
那么你坚持什么?选择一种方法还是实施它?您是否熟悉浮点数在内存中的表示方式?您是否尝试过获取
BitConverter.GetBytes的输出并将_that 转换为二进制? -
您打算如何将十进制值表示为二进制字符串?应该如何3.14 看一下你要构造的二进制表示?
标签: c# type-conversion