小数用二进制表示

简介: 小数用二进制表示

小数用二进制表示

步骤
  1. 将该数字乘以2,取出整数部分作为二进制表示的第1位
  2. 再将小数部分乘以2,将得到的整数部分作为二进制表示的第2位
  3. 循环进行,如果小数部分为0,则结束
  4. 小数部分出现循环,无法停止,则在误差允许范围内,用有限位近似表示
#include <stdio.h>
#define STAGE_N 20
int main(){
  double num;
  printf("decimal num: ");
  scanf("%lf",&num);
  char binary[STAGE_N]={0};
  int i,j;
  double temp = num;
  
  for(i=0;i<STAGE_N;i++){
    temp = temp*2;
    if(temp >= 1) {
      binary[i] = 1;
      temp -= 1;
      if(temp < 0.000001) break;
    }
  }
  
  int n = (i<STAGE_N)?i:i-1;
  printf("0.");
  for(j=0;j<=n;j++){
    printf("%d",binary[j]);
  }
  
  return 0;
}
相关文章
|
5月前
|
存储 弹性计算 小程序
阿里云企业用户专属199元1年云服务器介绍:配置、实例性能、适用场景及购买规则解读
阿里云推出的199元1年通用算力型u1实例云服务器,配置为2核4G、5M带宽、80G ESSD Entry云盘,以“独享资源、稳定高效”特性成市场焦点。该云服务器适用Web服务、轻量级企业应用等场景。其属于“99计划”一部分,企业用户专享,新购与续费同价,活动截止日期为2027年3月31日,且限购1台。
|
10月前
|
存储 运维 安全
合约交易所原理与撮合流程入门
本章系统解析合约交易所核心原理,涵盖撮合引擎、订单簿、保证金、风控与清算等关键要素,剖析价格-时间优先的匹配机制与分层架构设计,揭示低延迟、高并发下的稳定撮合逻辑,助力读者建立安全、高效、透明交易系统的认知基础。(238字)
|
JSON 缓存 供应链
API 接口驱动 1688 采购自动化:从商品获取到下单支付的全流程贯通
在B2B电商采购中,1688开放平台通过API实现商品筛选、比价、下单、支付及物流跟踪的全流程自动化,大幅提升采购效率,降低人工成本与错误率。企业可无缝对接ERP系统,实现数据驱动决策,显著优化采购周期、成本与风险管控,助力数字化转型。
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
1545 0
|
人工智能 自然语言处理 程序员
不是ManusAI用不起,而是AgenticSeek更有性价比,炸裂的项目,100%本地运行的AI秘书,真的丝滑啦!
AgenticSeek是一款开源本地AI助手,基于DeepSeek R1模型构建,无需云端支持,确保隐私安全。它能执行智能上网、编程辅助、任务调度、文件管理和语音交互等多功能操作,完全离线运行,适用于多种场景如网络安全扫描、代码迁移及学术研究等。相比Manus AI等工具,AgenticSeek具备更高性价比与更强隐私保护,是用户实现高效生产力的理想选择。项目已在GitHub收获12.3k+星,欢迎体验!
1425 5
|
XML 存储 Java
Python-docx编号列表解析:从XML迷宫到结构化数据的破局之道
本文深入解析了Word文档中自动编号的存储机制及解析难题,探讨了其在技术处理中的障碍,并通过三种实战方案对比,帮助开发者高效提取结构化数据。内容涵盖底层XML结构、常见问题解决方案及性能优化技巧,适用于合同条款、文档自动化处理等场景。
950 0
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
617 1
|
数据采集 存储 安全
Java零基础-replace(CharSequence target, CharSequence replacement)详解
【10月更文挑战第8天】Java零基础教学篇,手把手实践教学!
505 1
|
传感器 人工智能 自动驾驶
智能交通系统:自动驾驶技术的社会影响
【9月更文挑战第27天】随着科技发展,智能交通系统与自动驾驶技术正革新交通领域,从提高交通效率与安全性到优化资源分配,其影响深远。自动驾驶技术基于AI与传感器,历经五个等级演进,促进交通流畅的同时减少人为驾驶错误。然而,技术进步亦引发就业市场变化、数据隐私及道德责任等问题,城市规划需适应新技术,加建充电站等设施。尽管存在挑战,智能交通系统仍有望重塑城市面貌,提升出行体验,实现更高效、环保的城市交通体系。
|
Ubuntu 持续交付 API
如何使用 dotnet pack 打包 .NET 跨平台程序集?
`dotnet pack` 是 .NET Core 的 NuGet 包打包工具,用于将代码打包成 NuGet 包。通过命令 `dotnet pack` 可生成 `.nupkg` 文件。使用 `--include-symbols` 和 `--include-source` 选项可分别创建包含调试符号和源文件的包。默认情况下,`dotnet pack` 会先构建项目,可通过 `--no-build` 跳过构建。此外,还可以使用 `--output` 指定输出目录、`-c` 设置配置等。示例展示了创建类库项目并打包的过程。更多详情及命令选项,请参考官方文档。
1226 12

热门文章

最新文章