将十进制数转换为二进制数

2024-02-10

我目前正在阅读 Charles Petzold 的书《Code》。在其中,他解释了如何使用以下模板将十进制数转换为二进制数:

                [ ]   [ ]   [ ]   [ ]   [ ]   [ ]   [ ]   [ ]
                ÷128  ÷64   ÷32   ÷16   ÷8    ÷4    ÷2    ÷1
                [ ]   [ ]   [ ]   [ ]   [ ]   [ ]   [ ]   [ ]

在书中,他对如何使用模板的解释如下:

“将整个十进制数(小于或等于255)放入上方的框中 左角。将该数字(被除数)除以第一个除数 (128),如下所示 表明的。将商放入下面的框中(左下角的框),然后 其余的放在右边的框中(顶行的第二个框)。第一个余数是下一个计算的被除数,该计算使用除数 64。以相同的方式继续通过模板。

请记住,每个商要么为 0,要么为 1。如果被除数小于除数,则商为 0,余数就是被除数。如果被除数大于或等于除数,则商为 1,余数为除数 - 除数。以下是 150 的操作方法:”

                [150]  [22]   [22]   [22]   [6 ]   [6 ]   [2 ]   [0 ]
                ÷128   ÷64    ÷32    ÷16    ÷8     ÷4     ÷2     ÷1
                [1 ]   [0 ]   [0 ]   [1 ]   [0 ]   [1 ]   [1 ]   [0 ]

但我很困惑!当我按照指示进行计算时,我得到了截然不同的结果。我正在做的事情如下:

150 ÷ 128 =1.171875(我没看到上面的 22 从哪里来?)所以,我在 150 下面的框中放了一个 1,然后携带171875并用它作为下一次计算的被除数,这当然会让我陷入各种各样的问题,最终,不是二进制数 10010110!

有人能告诉我哪里出错了吗?


22 是 150/128 的余数。

由于您已经确定 150“中”有 1 128,并为该位赋予了一个值,因此您可以忘记 150“中”的 128,因此您将其从 150 中取出,留下我们的 22。然后是时候值 64 的数字:64 不会进入 22,因此该数字是 0。对于值 32 的数字也是如此。然后,对于值 16 的数字:16 进入 22 一次,所以那里有一个 1 数字,现在你已经完成了 22 中的 16,所以把它拿走——留下 6。依此类推。

(考虑一个类似的以 10 为基数的情况,比方说 309。取 100 列;309 中有 3 100 个,所以你在那里放一个 3。现在还剩下 9。然后取 10 列;9 中有 0 个 10 ,所以你在那里放了一个 0。然后是 1 列:9 有 9 个 1,所以你在那里放了一个 9。现在什么都没有剩下了——你就完成了。)

我有一种可怕的感觉,这可能会让人困惑而不是澄清,但无论如何我就是这么想的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将十进制数转换为二进制数 的相关文章

  • 固定大小集以包含给定集的最大数量

    我有大约 1000 组尺寸 1 4 1 3 3 5 6 4 5 6 7 5 25 42 67 100 是否有可能找到包含最大数量的给定集合的大小为 20 的集合 检查每一个100 80 20 集 效率低下 我不太确定这是 NP 完全的 考虑
  • 我需要一个支持高效随机访问和 O(k) 插入和删除的容器

    我再次尝试问同样的问题question https stackoverflow com questions 3808708 delete parts of a dynamic array and grow other 但我最终提出了一个不同
  • 将浮点数截断为小数点后两位的最简单方法?

    在 Swift 中 有没有办法将浮点数截断为小数点后两位 以便您可以用它执行进一步的计算 我见过的所有线程都涉及到字符串的转换 我不知道如何在数学上使用它 我尝试使用扩展 在这个论坛上找到 认为我可以在截断后转换回浮动 但我最终回到了开始的
  • 十进制如何工作?

    我查看了 C 中的十进制 但我不能 100 确定它做了什么 有损吗 在C 写作中1 0000000000001f 1 0000000000001f结果是2使用时float double得到你2 0000000000002这是正确的 是否有可
  • 有人可以解释以下异或属性

    我的一个论坛提到给定的数组n数字 arr 0 n 1 以下条件成立 is the xor运算符 f l r f 0 r f 0 l 1 where f l r arr l arr l 1 arr r 我检查了上面的数组数量和不同的值l an
  • 将字符串中的“奇怪”字符转换为罗马字符

    我需要能够将用户输入仅转换为 a z 罗马字符 不区分大小写 所以 我感兴趣的角色只有26个 然而 用户可以输入他们想要的任何 形式 的字符 西班牙语 n 法语 e 和德语 u 都可以包含用户输入中的重音符号 这些重音符号会被程序删除 我已
  • 数组中连续元素的最大乘积

    我在现场面试的时候被问到了这个算法问题 由于没有要求我签署保密协议 我将其发布在这里寻求答案 给定一个数组REAL不包含 0 的数字 找到产生最大乘积的连续元素 该算法应在线性时间内运行 我考虑过以下方法 使用两个数组 第一个是利用DP思想
  • 如何仅使用单个数组在 JavaScript 中模拟调用堆栈

    我正在看维基百科页面 https en wikipedia org wiki Call stack在调用堆栈上 并尝试理解这个图像 据我所知 哈哈 const memory memory 0 3 top of stack pointer m
  • 分而治之策略来确定列表中是否有超过 1/3 的相同元素

    我正在使用分治算法来确定列表中是否有超过 1 3 的元素相同 例如 1 2 3 4 不 所有元素都是唯一的 1 1 2 4 5 是的 其中 2 个是相同的 没有排序 是否有分而治之的策略 我陷入了如何划分的困境 def is valid i
  • 包围一组点的多边形

    我有一组 S 点 2D 由 x 和 y 定义 我想找到 P 包围该组所有点的最小 含义 具有最少数量的点 多边形 P 是S 有没有已知的算法来计算这个 我在这个领域缺乏文化令人惊讶 感谢您的帮助 对于这个问题有很多算法 它被称为 最小边界框
  • 7 张牌扑克手牌评估器

    有谁知道评估 7 张牌扑克牌的快速算法吗 这比简单地暴力检查 7 张牌中每 21 个 5 张牌的组合更有效 Cheers Pete 我写了一篇JavaScript 核心评估方法仅使用位操作 因此速度非常快 考虑到这一点 查看 21 种组合还
  • 生成所有多集大小为 n 的分区的算法

    我一直在试图找出一种方法来生成多重集的所有不同的大小为 n 的分区 但到目前为止却空手而归 首先让我展示一下我想要实现的目标 假设我们有一个输入向量uint32 t std vector
  • 用 C++ 生成 AST

    我正在用 C 制作一个解释器 到目前为止我已经有了词法分析器来生成标记 问题是我不确定如何生成 行走 解析树 我正在考虑使用数组数组来制作解析树 但我不确定如何以正确的顺序将标记实际插入到解析树中 我不确定是自上而下 左右还是自下而上 左右
  • 异或交换可以扩展到两个以上的变量吗?

    我一直在尝试将异或交换扩展到两个以上的变量 例如n变量 但我没有得到比这更好的地方3 n 1 对于两个整型变量x1 and x2你可以像这样交换它们 swap x1 x2 x1 x1 x2 x2 x1 x2 x1 x1 x2 所以 假设你有
  • 计算两点之间的最短路线

    过去几周我一直在开发一款多人 HTML5 游戏 使用nodejs and websockets 我已经被这个问题困扰了一段时间 想象一下 我用数组实现了这个平铺地图 如下所示 1 or 棕色瓷砖 路上有障碍物 玩家无法通过 0 or 绿色瓷
  • 具有多个谓词的 C++11 算法

    功能如std find if来自algorithmheader 确实很有用 但对我来说 一个严重的限制是我只能为每次调用使用 1 个谓词count if 例如给定一个像这样的容器std vector我想同时应用相同的迭代find if 多个
  • 绘制多边形

    我正在使用 Google Maps API V3 根据路径绘制多边形 该路径是随机未排序坐标点 LatLng 的数组 这会产生以下形状 Polylines intersect Problem 由于多边形的形状取决于路径中点的顺序 因此如何对
  • shell脚本中关联数组的时间复杂度

    我想知道在 shell 脚本中使用关联数组时如何构造 实现 另外 我想知道基于 shell 脚本的关联数组的时间复杂度是否是最佳的 因为我们可以使用字母和数字作为它们各自的键 编辑 他们使用什么哈希函数 如果您使用关联数组 则不能通过 使用
  • 每个术语出现的次数

    我得到了一个数组a n 2 where n can be 10 5最大时有n个科目和n个学生 全部编号为 1 2 n a i 0 and a i 1 1 lt i lt n 表示在第 i 个科目中 所有来自a i 0 to a i 1 通过
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex

随机推荐

  • opencv/c++ 中正确的阈值函数

    我是图像处理和 opencv 的新手 我需要对灰度图像进行阈值处理 该图像包含0到1350之间的所有值 我想保留所有大于100的值 我在opencv中找到了这个函数 cv threshold Src1 Last 100 max BINARY
  • 在工作副本中动态更改 SVN+SSH URI 中的用户名

    我正在使用 SVN SSH 从 SVN 服务器上签出存储库的工作副本 该服务器上的所有开发人员都是 SVN 服务器的成员 developer组并对存储库目录和关联元数据具有完全读 写权限 svn co svn ssh email prote
  • Kubernetes 集群中的 Coredns 处于挂起状态 [已关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我正在尝试配置 2 节点 Kubernetes 集群 首先 我尝试在 CentOS VM 上配置集群的主节点 我已使用 kubeadm
  • 无法在 azure 容器实例中将 azure 文件共享装载为 mongodb 卷

    我正在尝试使用 azure 容器实例设置 mongo DB 实例并将其安装在 Azure 文件共享上 我们收到以下错误 initandlisten WiredTiger error 1 1579245437 724939 1 0x7f941
  • 在 Nativescript 和 Angular Schematics 的共享代码中找不到模块

    我正在使用 Angular 和 Nativescript Schematics 我已经安装了nativescript ui sidedrawer 当我跑步时 tns run ios bundle 本机版本已编译并部署到设备 但是当我运行时
  • doall dorun dideq 和 for 函数有什么区别?

    功能有什么区别doall dorun doseq and for 我发现一些信息分散在互联网上 但我认为最好将这些信息集中在这里 dorun doall and doseq都是为了强制惰性序列 大概是为了产生副作用 dorun 强制返回时不
  • 使用 NSPredicate 按对象属性过滤

    我有一个可变的自定义对象数组 例如 我想按对象的属性过滤该数组myObject attributeOne 如何创建 NSPredicate 来使用 myArrayOfObjects filterUsingPredicate
  • UI层向业务层返回什么?

    我正在编写一个 ASP NET 应用程序 它有 UI 层 业务逻辑层和数据访问层 我从数据层将业务对象返回到业务逻辑层 并将它们传递到 UI 层 但是 当我想使用 UI 层的数据执行保存 插入时 我不确定该怎么做 我应该在 UI 层创建业务
  • Python (2.4) 字典中的排序

    r dict answer1 value1 answer11 value11 answer2 value2 answer3 value3 answer4 value4 for i in r dict if answer in i lower
  • Fontforge 脚本如何为字形添加连字

    我正在 Fontforge 上使用脚本制作字体 一切顺利 但我有这个问题 我不知道如何指定选定的字形 如果其他两个字形同时出现 则显示选定的字形 我已经为此创建了查找表和子表 但我不知道为指定字形定义一些连字的函数 以下是创建表和子表以将连
  • 使用 Python 和 xlwings 在 Excel 中查找活动/选定单元格的范围

    我正在尝试用Python 使用xlwings 编写一个简单的函数 该函数读取Excel中当前的 活动 单元格值 然后将该单元格值从活动单元格写入下一列中的单元格 如果我使用绝对引用指定单元格 例如 range 3 2 那么一切正常 但是 一
  • 在 Linux 中向当前日期添加 x 秒

    我这里有两台 Linux CentOS 6 0 机器 我需要在当前日期时间上添加 或删除 5 秒 最后 我的两台机器都会有5秒的差距 一台时间正确 另一台或多或少有5秒 我知道我可以使用以下命令更改日期 date s DD MMM YYYY
  • 对一个集合的元素执行操作并迭代结果以执行其他操作

    如果我有2个收藏 List
  • Eclipse Markdown 表未呈现

    我现在已经在 Eclipse 中尝试了四种不同的 Markdown 编辑器 但它们都无法在预览中渲染表格 它们总是平坦的 一个简单的表就像 hans pans 1 2 渲染得像 hans pans 1 2 我知道语法是正确的 因为它在 Ec
  • 根据输入值重定向到页面

    我正在尝试在页面上创建一个需要用户输入文本的表单 提交表单后 用户将被重定向到分配给它的页面 我的问题是我哪里出了问题 我应该如何解决这个问题 有人可以添加 JSFiddle 或 Codepen io 笔用于清除目的吗 例如 用户输入并提交
  • 在 R (CRAN) 中创建和裁剪网格

    我需要在 gstat 库中创建一个用于空间插值的掩模网格 具体来说 我有随机分布的不同采样点 我需要创建包围这些点的最小凸多边形 然后 我必须创建一个空间网格 该网格应由计算的外壳裁剪 以将插值限制在该多边形的范围内 如果有人能向我解释详细
  • Java限制资源使用

    有没有办法限制java使用的核心数量 同样 是否有可能限制该核心的使用量 您可以在 Linux 上使用任务集 您还可以降低进程的优先级 但除非 CPU 繁忙 否则进程将获得尽可能多的 CPU 我有一个将线程专用于核心的库 称为 Java T
  • 启动时自动运行 Jetty

    我正在尝试让 Jetty 在我的 Ubuntu 上自动启动 我已经完成了这些命令 cp opt jetty bin jetty sh etc init d update rc d jetty sh defaults 但是当我运行它时 我得到
  • sqlalchemy 中的scoped_session(sessionmaker()) 或普通sessionmaker() ?

    我在我的网络项目中使用 SQlAlchemy 我应该用什么 scoped session sessionmaker 或普通sessionmaker 为什么 或者我应该使用其他东西 model py from sqlalchemy impor
  • 将十进制数转换为二进制数

    我目前正在阅读 Charles Petzold 的书 Code 在其中 他解释了如何使用以下模板将十进制数转换为二进制数 128 64 32 16 8 4 2 1 在书中 他对如何使用模板的解释如下 将整个十进制数 小于或等于255 放入上