操作系统
文章平均质量分 72
陈开心出旺仔小拳头
管它什么真理无穷,进一寸有一寸的欢喜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浮点数(floating point number)在计算机中的三大组成部分:符号位(sign bit)、指数位(exponent) 和 尾数位(mantissa,也叫 significand)
浮点数由符号位、指数位和尾数位三部分组成,共同决定数值的正负、范围和精度。以32位单精度浮点数(FP32)为例,1位符号位控制正负,8位指数位决定数值大小级别(采用偏移编码),23位尾数位存储小数精度(隐含前导1)。计算公式为:(-1)^符号位 × 1.尾数 × 2^(指数-127)。例如,指数位01111111(127)减去偏移量127得到实际指数0,尾数全0表示1.0,符号位0则值为+1.0,符号位1则为-1.0。不同浮点格式(FP32/FP16/BF16/INT8)在精度、范围和适用场景上各有特点,F原创 2025-06-18 14:22:58 · 2387 阅读 · 0 评论 -
什么是“精度”?
这篇文章解释了表格中"精度举例"一列的真正含义:它表示的是浮点数据类型的最小可分辨差值(machine epsilon/ULP),而非十进制小数位数。重点包括:1)FP32等浮点数的精度指数值间的可区分最小间隔,由尾数位和指数位共同决定;2)INT8是整数类型,不能表示小数;3)提供了Python代码示例来验证不同浮点类型的精度差异。文章澄清了精度与小数位数之间的区别,强调精度反映的是数值分辨率而非小数点后位数。原创 2025-06-18 11:50:05 · 1256 阅读 · 0 评论 -
值接近于 1 + (1 - 2^-23) = 1.99999988这里为什么用1 + (1 - 2^-23) 而不是直接2^-23
摘要:IEEE 754浮点数尾数全为1时,其23位二进制小数总和约为(1 - 2^-23),加上隐含的整数1后,整体值为1 + (1 - 2^-23) ≈ 1.99999988,接近但不到2。这是几何级数求和的结果,而非直接用2^-23表示。原创 2025-06-18 11:30:01 · 242 阅读 · 0 评论 -
指数位的本质:用于控制数值的“数量级”(2 的多少次方)
FP32、FP16和BF16浮点数格式中,指数位的最大值受到偏移编码和特殊值保留的限制。FP32和BF16使用8位指数,最大指数位值为254(11111110),对应真实指数127;FP16使用5位指数,最大指数位值30(11110),对应真实指数15。由于IEEE 754标准保留全1指数位(如FP32的255)表示特殊值(Inf/NaN),实际可用指数范围减少。浮点数最大值由接近1.999的尾数(全1)乘以2的最大指数次方计算得出,如FP32约为3.4e38。尾数全1时,23位小数位累加得到1.99999原创 2025-06-18 11:27:37 · 1085 阅读 · 0 评论 -
浮点数的“偏移编码”(biased exponent)机制
计算机二进制无法直接表示负指数,因此FP32浮点数采用"偏移编码"方法存储指数。8位指数位通过127的偏移量,将真实指数范围(-126到+127)转换为1-254的无符号存储值。计算真实指数时需减去127,例如存储值129对应真实指数+2(2²),125对应-2(2⁻²)。这种偏移机制解决了负指数的存储问题,是IEEE 754标准的核心设计之一。原创 2025-06-18 11:13:38 · 581 阅读 · 0 评论 -
Ubuntu 和 Linux 命令行是高度通用的
问题回答Ubuntu 和 Linux 命令行通用吗?✅ 是的,Ubuntu 是 Linux 的一种,绝大多数命令通用。是否有例外?有一些包管理器、服务命令在不同发行版上名字不同,但可以互通思维方式。可以放心学 Ubuntu 就能应付 Linux 服务器吗?✅ 完全可以,Ubuntu 是很多云服务器默认系统,适合入门和实际部署。原创 2025-05-29 17:29:38 · 664 阅读 · 0 评论 -
window系统常用命令行
欢迎使用Markdown编辑器写博客本Markdown编辑器使用[StackEdit][6]修改而来,用它写博客,将会带来全新的体验哦:输入 e: 表示进入E盘 cd .. 是返回上一级目录md dirtest是生成一个dirtest的文件夹dir > filename.txt 是生成一个文件类型为txt类型的文件dir是浏览文件下的目录rd fileName是删除一个文件d原创 2018-01-19 16:06:07 · 1514 阅读 · 0 评论 -
进程和线程
现代操作系统比如Mac OS X,UNIX,Linux,Windows等,都是支持“多任务”的操作系统。什么叫“多任务”呢?简单地说,就是操作系统可以同时运行多个任务。打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Word赶作业,这就是多任务,至少同时有3个任务正在运行。还有很多任务悄悄地在后台同时运行着,只是桌面上没有显示而已。现在,多核CPU已经非常普及了,但是,即使过去的单核C...转载 2019-03-22 15:12:03 · 169 阅读 · 0 评论 -
异步IO
在IO编程一节中,我们已经知道,CPU的速度远远快于磁盘、网络等IO。在一个线程中,CPU执行代码的速度极快,然而,一旦遇到IO操作,如读写文件、发送网络数据时,就需要等待IO操作完成,才能继续进行下一步操作。这种情况称为同步IO。在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。因为一个IO操作就阻塞了当前线程,导致其他代码无法执行,所以我们必须使用多线程...转载 2019-03-22 15:02:19 · 1541 阅读 · 1 评论 -
IO编程
IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。比如你打开浏览器,访问新浪首页,浏览器这个程序就需要通过网络IO获取新浪的网页。浏览器首先会发送数据给新浪服务器,告诉它我想要首页的HTML,这个动作是往外发数据,叫Output,随后新浪服务器把网页发过来,这...转载 2019-03-22 14:41:21 · 743 阅读 · 0 评论
分享