c - 如何找到大数的二进制表示?
问题描述
我想将数字转换为二进制,所以我使用经典算法来解决问题,但在某些时候我没有得到真实值,因为我超过了最大值int
是否有任何其他解决方案可以找到更大数字的二进制表示, 除了使用long
or long long
?
解决方案
如果您的数字超出了您的机器本机可以表示的范围,那么您将不得不切换到任意精度的数学。找到比你的目标数小的二的最大幂,减去,再次找到下一个最大的减法,依此类推,直到你一无所有。
推荐阅读
- ios - 我的整个应用程序中只有一个视图上的导航栏
- c# - 将 DataGridView 与 Crystal Report 问题 C# 链接
- dynamics-crm - 如何从 CRM Dynamics 的多个实例中删除用户?
- r - 如何通过 y 轴值为 geom_bar 着色?
- excel - 使用单元格在 Excel 中的公式中引用工作表的名称
- javascript - 使用 aws-amplify 时如何将 cookie 过期时间设置为 30 分钟?
- java - 活动启动中的片段花费的时间比预期的要长
- php - 如何使用 CURL 获取文件扩展名
- spring - Spring Boot - 以编程方式加载属性文件,包括 YAML
- woocommerce - Woocommerce 产品供应商 - 自定义供应商登录页面