字符串十进制小数转换成字符串二进制小数
2016-10-09 11:36
281 查看
输入一个字符串,字符串内容为十进制小数,将其转换为二进制小数,如果不能转换则返回error。
#include <iostream> #include <math.h> #include <string> #include <sstream> using namespace std; template <class T> string m_toStr(T tmp) { stringstream ss; ss << tmp; return ss.str(); } int main() { string n="3.75"; stringstream stream; int intPart; double decPart; stream << n.substr(0,n.find('.')); stream >> intPart; stream.clear(); stream << n.substr(n.find('.'),n.length()); stream >> decPart; string int_string = ""; while(intPart > 0){ int r = intPart % 2; intPart >>=1; int_string = m_toStr(r) + int_string; } string dec_string = ""; while(decPart > 0){ if(dec_string.size() > 32) { cout<<"error"; return 0; } if(decPart == 1){ dec_string += m_toStr(decPart); break; } double r = decPart * 2; if(r>=1){ dec_string += '1'; decPart = r - 1; }else{ dec_string +='0'; decPart = r; } } cout<< int_string +'.'+dec_string <<'\n'; }
相关文章推荐
- 二进制(字符串)转换成十进制
- 转载:十进制小数转换成二进制小数的快速方法
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 十进制浮点小数转换二进制注意的问题点
- 使用移位操作把十进制转换为二进制与十六进制字符串输出
- MODBUS协议 IEEE32位二进制浮点数与十进制小数转换的方法等内容
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 长的十进制字符串转换为二进制序列
- T-SQL编写程序,将十进制数值转换为二进制字符串后输出
- 十进制小数和二进制小数之间的转换
- 十进制小数转换成二进制小数
- 十进制小数与二进制小数之间的互相转换
- 二进制转换为十进制(包括小数转换)
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 二进制字符串与十进制的转换
- 十进制小数转换二进制的问题
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- C语言中字符串如何转换为二进制、八进制、十进制、十六进制
- 十进制小数转换为二进制小数
- MODBUS协议 IEEE32位二进制浮点数与十进制小数转换的方法等内容