n位的二进制可以表示多少个小数?

news2024/7/4 6:11:41

文章目录

    • 导论
    • 推理过程
    • 结论
    • 练习

导论

首先来思考一个十进制小数是如何被转化成二进制的。它使用的方式:乘基取整。你想把它化成n进制,基数就是n。以小数0.6875为例,将它化成二进制
在这里插入图片描述
那么它化成二进制0.1101。以原码或补码表示成01101
并不是每一个十进制小数都可以化成2进制,根据小数转化成二进制的规则来看,如果一个小数 ✖有限个2,能够变成一个整数,那么这个小数就可以用二进制来表示

例如,0.3不管它✖多少个2,都没有办法变成整数,这个“乘基取整”的过程就没有出口,所以0.3不能用二进制表示。
在这里插入图片描述
另外,根据“乘基取整”的规则来看,小数乘了多少个2,那么它就用多少个二进制表示。

推理过程

根据上面导论里得出来的两个结论,进行推导。

  • 如果一个小数 ✖有限个2,能够变成一个整数,那么这个小数就可以用二进制来表示
  • 小数乘了多少个2 变成了整数,那么它就用多少个二进制表示。

以数学角度来说,一个小数m∈(0, 1),乘以n个2,可以变成整数N,那么这个小数就可以用n位的二进制表示出来。根据题意可以列出表达式

m × 2 n = N m × 2^n =N m×2n=N
小数 × 2 n = 整数 小数 × 2^n =整数 小数×2n=整数
即上述这个等式如果成立,小数m就可以用n位的二进制表示,那么就有如下过程:
0 ≤ m = N 2 n < 1 0 \leq m = \frac{N}{ 2^n} < 1 0m=2nN<1
0 ≤ 小数 = 整数 2 n < 1 0 \leq 小数 = \frac{整数}{ 2^n} < 1 0小数=2n整数<1
因为m是小数,我们可以列出上述不等式。
0 ≤ N < 2 n 0 \leq N < 2^n 0N<2n
0 ≤ 整数 < 2 n 0 \leq 整数 < 2^n 0整数<2n
N仅仅规定是整数,N可以是0、1、2、… 、2n-1 ,即m有2n个可能值。
所以n位的二进制可以表示2n个小数


1位二进制,可以表示多少个小数:
0 ≤ m = N 2 1 < 1 0 \leq m = \frac{N}{ 2^1} < 1 0m=21N<1

0 ≤ N < 2 1 0 \leq N < 2^1 0N<21

且N是整数,N可以是0、1。
1位二进制可以表示 20 个小数


2位二进制,可以表示多少个小数:
0 < m = N 2 2 < 1 0 < m = \frac{N}{ 2^2} < 1 0<m=22N<1

0 < N < 4 0 < N < 4 0<N<4
且N是整数,N可以是0、1、2、3。
2位二进制可以表示 22 个小数


3位二进制,可以表示多少个小数:
0 < m = N 2 3 < 1 0 < m = \frac{N}{ 2^3} < 1 0<m=23N<1

0 < N < 2 3 0 < N < 2^3 0<N<23
且N是整数,N可以是0、1、2、……、23-1。
3位二进制可以表示 23 个小数


结论

综上,不考虑符号位,n位的二进制可以表示2n个小数

练习

对于相同位数(设为N位,不考虑符号位)的二进制补码小数和十进制小数,二进制小数能表示数的个数/十进制小数所能表示数的个数为________.

解答:
不考虑符号位,N位的二进制可以表示2N个小数。
而不考虑符号,N位的十进制小数,能够表示10N个小数。例如,3位小数部分,最大可以表示0.999,那么可以表示的范围是 0~0.999,一共可以表示10N个小数。
所以 二进制小数所能表示数的个数 十进制小数所能表示数的个数 = 2 N 1 0 N = ( 0.2 ) N \frac{二进制小数所能表示数的个数}{ 十进制小数所能表示数的个数} = \frac{2^N}{10^N} =(0.2)^N 十进制小数所能表示数的个数二进制小数所能表示数的个数=10N2N=(0.2)N

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/821507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gis入门,使用起止点和两个控制点生成三阶贝塞尔曲线(共四个控制点,线段转曲线)

前言 本章讲解如何在gis地图中使用起止点和两个控制点(总共四个控制点)生成三阶贝塞尔曲线。 二阶贝塞尔曲线请参考上一章《Gis入门,如何根据起止点和一个控制点计算二阶贝塞尔曲线(共三个控制点)》 贝塞尔曲线(Bezier curve)介绍 贝塞尔曲线(Bezier curve)是一种…

用Delphi编写一个通用视频转换工具,让视频格式转换变得更简单

用Delphi编写的简单视频格式转换程序&#xff0c;它使用TComboBox、TOpenDialog和TSaveDialog组件来选择转换格式、选择源视频文件和选择目标视频文件。程序还使用TEdit组件允许用户输入参数&#xff0c;然后将这些组件中的信息拼接成转换命令并在DOS窗口中运行它。 procedure…

认识springboot 之 了解它的日志 -4

前言 本篇介绍springboot的日志&#xff0c;如何认识日志&#xff0c;如何进行日志持久化&#xff0c;通过日志级别判断信息&#xff0c;了解Lombok插件的使用&#xff0c;通过Lombok自带注释更简洁的来完成日志打印&#xff0c;如有错误&#xff0c;请在评论区指正&#xff0…

动手学深度学习—深度学习计算(层和块、参数管理、自定义层和读写文件)

目录 1. 层和块1.1 自定义块1.2 顺序块1.3 在前向传播函数中执行代码 2. 参数管理2.1 参数访问2.1.1 目标参数2.1.2 一次性访问所有参数2.1.3 从嵌套块收集参数 2.2 参数初始化2.2.1 内置初始化2.2.2 自定义初始化 2.3 参数绑定 3. 自定义层3.1 不带参数的层3.2 带参数的层 4. …

【PWN · 栈迁移】[BUUCTF][Black Watch 入群题]PWN

记一道栈迁移题目 前言 【PWN 栈迁移】[BUUCTF]ciscn_2019_es_2_Mr_Fmnwon的博客-CSDN博客 一、代码审计 总结信息如下&#xff1a; 1. 第12行存在栈溢出漏洞&#xff0c;刚好可以溢出覆盖到ebp和ret 2. 第9行可输入大量数据到bss段 二、思路过程 1.栈迁移 进能够覆盖e…

Nodejs 第八章(npm搭建私服)

构建npm私服 构建私服有什么收益吗&#xff1f; 可以离线使用&#xff0c;你可以将npm私服部署到内网集群&#xff0c;这样离线也可以访问私有的包。提高包的安全性&#xff0c;使用私有的npm仓库可以更好的管理你的包&#xff0c;避免在使用公共的npm包的时候出现漏洞。提高…

SAM(Segment Anything)大模型论文汇总

A Comprehensive Survey on Segment Anything Model for Vision and Beyond 论文&#xff1a;https://arxiv.org/abs/2305.08196 25页综述&#xff0c;198篇参考文献&#xff01;52个开源项目&#xff01;本文第一个全面回顾了分割一切模型(SAM)的研究和应用进展&#xff0c;…

AttributeError: module ‘PyQt5.QtGui‘ has no attribute ‘QMainWindow‘

场景描述&#xff1a; 这个问题是使用PyUIC将ui文件变成py文件后遇到的 解决办法&#xff1a; 改动1&#xff1a;把object改成QtWidgets.QMainWindow 改动2&#xff1a;增加__init__函数&#xff0c;函数结构如下&#xff1a; def __init__(self):super(Ui_MainWindow,self).…

vue03 es6中对数组的操作,vue对数据监控的原理(分别对对象和数组的监控)

在js中&#xff0c;对数组的操作一般都是固定的模式&#xff1a;常用的函数&#xff0c;具体的方法在这个文章中去看&#xff1a; http://t.csdn.cn/Fn1Ik 一般会用到的函数有&#xff1a; pop&#xff08;&#xff09; 这个函数是表示把数组中的元素&#xff08;数组&#xff…

Elasticsearch 全文检索 分词检索-Elasticsearch文章四

文章目录 官方文档地址refercence文档全文搜索体系match简单查询match 多词/分词单字段分词match多个词的逻辑控制match的匹配精度match_pharse_prefix分词前缀方式match_bool_prefixmulti_match多字段匹配 query string类型Interval类型DSL查询之Term详解聚合查询之Bucket聚合…

Java入门指南:Java语言优势及其特点

目录 1. Java语言简介及发展概述 2. Java语言的优势 2.1 可移植性 2.2 面向对象 2.3 安全性 2.4 大量类库 3. Java语言与C/C的区别 4. 初识Java程序入口之main方法 5. 注释、标识符、关键字 5.1 注释 5.2 标识符 5.3 关键字 1. Java语言简介及发展概述 Java是一种面…

天下风云出我辈,AI准独角兽实在智能获评“十大数字经济风云企业

时值盛夏&#xff0c;各地全力拼经济的氛围同样热火朝天。在浙江省经济强区余杭区这片创业热土上&#xff0c;人工智能助力数字经济建设正焕发出蓬勃生机。 7月28日&#xff0c;经专家评审、公开投票&#xff0c;由中共杭州市余杭区委组织部&#xff08;区委两新工委&#xff…

【Java】数据结构篇:经典链表OJ题 |超详细图解+代码

博主简介:努力学习的预备程序媛一枚~博主主页: @是瑶瑶子啦所属专栏: Java岛冒险记【从小白到大佬之路】文章目录 1、获取链表的中间节点⭐2、单链表的逆置⭐3、判定链表是否是回文⭐4、链表分割5、合并两个有序链表6、链表中倒数第k个结点⭐7、判定链表相交8、判断链表带环⭐…

15、两个Runner初始化器和 springboot创建非web应用

两个Runner初始化器 两个Runner初始化器——主要作用是对component组件来执行初始化 这里的Component组件我理解为是被Component注解修饰的类 Component //用这个注解修饰的类&#xff0c;意味着这个类是spring容器中的一个组件&#xff0c;springboot应用会自动加载该组件。 …

一文读懂浏览器本地存储:Web Storage

一、 简介 二、localStorage 和 sessionStorage 2.1、区别 2.2、浏览器兼容性 三、使用说明 3.1、API介绍 3.2、浏览器查看 3.3、监听 四、存储 4.1、存储容量 4.2、存储性能 五、应用 5.1、使用习惯记录 5.2、首次打开提示 5.3、减少重复访问接口 六、总结 一、 …

在 3ds Max 中使用相机映射将静止图像转换为实时素材

推荐&#xff1a; NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 在 Photoshop 中准备图像 步骤 1 这是我将在教程中使用的静止图像。 这是我的静态相机纸箱的快照。 静止图像 步骤 2 打开 Photoshop。将图像导入 Photoshop。 打开 Photoshop 步骤 3 单击套索工…

计算机网络基础(静态路由,动态路由,公网IP,私网IP,NAT技术)

文章目录 一&#xff1a;静态路由和动态路由二&#xff1a;静态路由的配置路由信息的方式演示三&#xff1a;默认路由四&#xff1a;公网IP和私网IP和NAT技术的基本理解 一&#xff1a;静态路由和动态路由 在说静态路由和动态路由前&#xff0c;我们需要来了解一下&#xff0…

近2年入侵13家电信公司的幕后黑手浮出水面

10月20日&#xff0c;网络安全公司赛门铁克刚披露了一个针对南亚电信公司的神秘APT&#xff08;高级持续威胁&#xff09;组织&#xff0c;一个名为 LightBasin 的黑客组织被确定为针对电信行业发起一系列攻击的幕后黑手&#xff0c;其目标是从移动通信基础设施中收集“高度特定…

【iOS】GCD深入学习

关于GCD和队列的简单介绍请看&#xff1a;【iOS】GCD学习 本篇主要介绍GCD中的方法。 栅栏方法:dispatch_barrier_async 我们有时候需要异步执行两组操作&#xff0c;而且第一组操作执行完之后&#xff0c;才能开始执行第二组操作&#xff0c;当然操作组里也可以包含一个或者…

JVM之三大垃圾回收算法

文章目录 前言一、复制算法二、标记清除三、标记整理 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多人都开启了学习机器学习&#xff0c;本文就介绍…