十进制的小数转换为二进制的方法_二进制转十进制公式

十进制的小数转换为二进制的方法_二进制转十进制公式今天在学习十进制与二进制的相互转换,学到小数的十进制转换到二进制时,所以我想着能不能用我这菜鸡技术,利用C++来实现只把十进制小数转换成二进制。【思路】输入要计算的二进制小数部分“decimals”以及要计算出的二进制位数循环while()部分●进行小数*2的运算,只输出整数部分(获得二进制数值),这部分利用了floor()函数,它会返回比参数小的最大整数●把整数…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天在学习十进制与二进制的相互转换,学到小数的十进制转换到二进制时,所以我想着能不能用我这菜鸡技术,利用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){ 
   
			return 1; //当小数部分为0时停止运算
		}
	}
	return 0;
}

个人博客:http://www.juepo.cn/(抉破网)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193597.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号