⼗进制的⼩数转换为⼆进制(C++)
今天在学习⼗进制与⼆进制的相互转换,学到⼩数的⼗进制转换到⼆进制时,所以我想着能不能⽤我这菜鸡技术,利⽤C++来实现只把⼗进制⼩数转换成⼆进制。
【思路】
支持小数点的进制转换器1. 输⼊要计算的⼆进制⼩数部分 “decimals” 以及要计算出的⼆进制位数
2. 循环 while() 部分
● 进⾏⼩数 * 2 的运算,只输出整数部分(获得⼆进制数值),这部分利⽤了 floor() 函数,它会返回⽐参数⼩的最⼤整数
● 把整数部分赋值到 “integer”
● ⽤包含了整数与⼩数的数值减去整数部分,这样就获得了只存在⼩数部分的数值
3. 利⽤ if() 函数,当⼩数部分为0时停⽌运算
【代码部分】
#include<iostream>
using namespace std;
int main()
{
double decimals=0;//decimals ⼩数
int integer,time,a =1;//interger 整数 time 循环次数 a 初始值
cout <<"请输⼊要计算的⼆进制⼩数部分"<< endl;
cin >> decimals;
cout <<"想要算出的位数:";
cin >> time;
while(a <= time){
decimals = decimals *2;//进⾏⼩数运算
cout << a <<"---"<<floor(decimals)<<endl;//输出整数部分
integer =floor(decimals);//获得整数部分
decimals = decimals - integer;//去除整数部分
a++;
if(decimals ==0){
return1;//当⼩数部分为0时停⽌运算
}
}
return0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论