2022.8.21 闲话
今天来一个最炫民族风
最炫民族风
ねぇねぇねぇ。(呐呐呐。) —— ピノキオピー
ねぇねぇねぇ。 @君へ
呐呐呐。 发送了@你的一方通行のメンションです
那自说自话的消息夜明けまで二人 喋っているのに
明明两人直到黎明 都还在聊个不停ひとりごとみたいな感じ
却还是有着孤单的感觉啊「チョコレート
「有时候会突然食べたい時あるよね」
很想吃巧克力啊」「ノーメイクで可愛い子
「光是素颜就很可爱的人無敵だね」
简直无敌啊」「腹立つけどアイツ優しいよね」
「虽然十分不爽 不过那家伙人确实蛮好呢」ねぇねぇねぇ。 話を聞いてよ
呐呐呐。听我说话啊目が合わないけど
虽然没有对上视线「はいはいはい」
“嗯嗯嗯”興味はないけど
就算兴趣各不相同「へえ、それで?」
「哦~然后呢?」笑えないけど
虽然没什么好笑的「面白いね」
「真有趣啊」何も感じないけど
即便内心不为所动「嬉しい」
「好高兴」聞いてないでしょ
你没在听吧聞いてないでしょ
你没在听吧聞いてないでしょ
你没在听吧知ってるもん
我早就猜到了こっちの「好き」は
我发过去的「喜欢」届いてるかな
你真的有收到吗ねぇねぇねぇ。 @君へ
呐呐呐。对你发起的@一方通行のメンションです
只是自言自语的消息夜明けまで二人 喋っているのに
明明天已微微亮了 两人都还在互发消息ひとりごとみたいな感じ
却还是感觉若有所失啊ねぇねぇねぇ。 臆病な劣等生
呐呐呐。胆怯的劣等生ぼくたちは未経験です
我们仍然懵懂无知呢世界中 「好き」で溢れてるのに
世界上 明明满溢着“喜欢”的感情ひとりきりみたいな感じ
却总是觉得内心空荡荡的呢あなたは今どんな感じ
你现在又是什么感觉呢「パスコード毎回入力面倒だね」
「每次登录都要重输密码好麻烦的」「GPS追跡アプリ 便利だね」
「GPS定位的APP 真方便啊」「今夜は満月が綺麗だね」
「今夜满月的月色真美啊」ねぇねぇねぇ。 話を聞いてよ
呐呐呐。听我说话呀わかってないけど
虽然并没有理解「わかります」
「知道啦」良く知らないけど
虽然不是很清楚「ああ、それね」
「啊,你说那个啊」すべっているけど
虽然一直在别的软件刷个不停「すべらんなあ」
「没有在刷啊」ほんとは悲しいけど
即使内心很悲伤「いぇいいぇい」
「耶耶~」他愛ない嘘 他愛ない嘘
骗小孩的谎言 骗小孩的谎言他愛ない嘘 ついてるよ
骗小孩的谎言 不停地在说着こっちを振り向いて欲しいから
只因想让你看向我这边啊ねぇねぇねぇ。ハートマーク消して
呐呐呐。删掉爱心的表情照れ隠しのテンションです
只是想掩饰自己的羞涩啊ドキドキに蓋をして向かい合う度
每当与你面对面时 都将悸动的心悄悄隐藏他言語を使ってる感じ
感觉自己都语无伦次了ねぇねぇねぇ。 端役の八等星
呐呐呐。只配当配角的八等星不器用なりに夢を見て
傻傻地做着长长的梦心の奥深くで迷子の恋
于内心深处迷路的爱情他人事みたいな感じ
感觉和自己毫不相关啊近いのに遠のいてる感じ
明明近在眼前 却又似远在天边かまってちゃんって なんで
你真够缠人的 为什么身勝手だって なんで
总是自说自话 为什么悩んでしまって 不安で
就这样烦恼着 不安着黙って 泡になっちゃう
沉默着 不小心化作了泡沫アローン アローン
Alone Aloneすれ違う双方の
彼此擦肩而过的ねぇねぇねぇねぇ
呐呐呐呐無関心も 安心も 紙一重さ
不关心也好 安心也好 也只是一线之隔ねぇねぇねぇ。 @君へ
呐呐呐。 发送了@你的一方通行のメンションです
我自说自话的消息夜明けまで二人 喋っているのに
明明直到太阳升起 两人都还在聊个不停ひとりごとみたいな感じ
却还是有着孤单的感觉啊ねぇねぇねぇ。 臆病な劣等生
呐呐呐。胆怯的劣等生ぼくたちは未経験です
我们仍然懵懂无知呢世界中 「好き」で溢れてるのに
世界上 明明满溢着“喜欢”的感情ひとりきりみたいな感じ
却总是觉得内心空荡荡的呢あなたは今どんな感じ
你现在是什么感觉呢二人とも大好きな感じ
是两个人都超喜欢的感觉片方を選べない感じ
还是难以从两个人抉择的感觉呢
IEEE754 浮点数标准
TOC
IEEE754 标准链接:https://www.zhihu.com/question/21711083/answer/2388960865 .
IEEE754 创建了一个二进制数到实数的单射(实际上不均匀) .
IEEE754 的初标准在 1985 年发布,也是现在广为流传的版本,被大多数语言所采用 . 事实上后来已经有了更新的标准了,不过两者间没有太大的区别 .
二进制小数与科学计数法
初赛我们就学过二进制小数吧,形式大概是这样的:
早在初中一年级我们就学过科学技术法:\(x=a\cdot 10^n\),when \(1\le a<10\) .
我们把它变成二进制:\(B=x\cdot 10^y\),这就是定点数存储方法 .
浮点数存储结构
IEEE754 存储标准
标准提供了四种最常见的规范:
- 单精度 (single) 浮点数 (32bit)
- 双精度 (double) 浮点数 (64bit)
- 延伸单精度 (extended single) 浮点数 (over 43bit)
- 延伸双精度 (extended double) 浮点数 (over 79bit)
IEEE754 规定,浮点数的存储形如
也就印证了那张经典图:
(值得一提的是,标准中 \(\pm0.0\) 都存在,于是我们做题的时候可能会遇到输出 -0.000000
的情况吧)
CSAPP 里写的标准和此类似:
于是根据 \(s,M,E\),我们的数可以分为四类:
Normalized - 规格化的浮点数
这是一般情况 .
当 exp
子段不全为 \(0\) 且不全为 \(1\) 时,则浮点数是规格化的 .
在这种情况中,阶码字段被解释为以偏置(biased)形式表示的有符号整数(注意这种表示方法将会在非规格化浮点数中再次提到).
也就是说,阶码的值是 \(E = e - Bias\),其中 \(e\) 是无符号数 .
\(e\) 表示为 \(e{k-1}\dots e_1e_0\),而 \(Bias=2^{k-1}-1\)
小数字段 frac
被解释为描述小数值 \(f\in(0,1)\),其二进制表示为 \(0.f_{n-1}\dots f_1f_0\),也就是二进制小数点在最高有效位的左边 .
尾数 \(M\) 定义为 \(M = 1 + f\),于是我们有时候也说 \(M\) 是 \(1\) 开头的小数,因为根据 \(f\) 的表示,我们可以得到
然后因为我们总是能够调整阶码 \(E\),使得 \(M\in[1,2)\) 之中(假设没有溢出),于是我们可以增加一位精度,因为首位是 \(1\) 不用存 .
Denormalized - 非规格化的浮点数
当 exp
为全 \(0\) 时,所表示的数是非规格化形式 .
此时 \(E=1-Bias\),\(M=f\) . \(1-Bias\) 便于平滑转变 .
非规格化数有两个用途 .
- 首先,它们提供了一种表示数值 \(0\) 的方法 .
- 非规格化数的另外一个功能是表示那些非常接近于 \(0\) 的数。它们提供了一种属性,称为逐渐溢出 . 其中,可能的数值分布均匀地接近于 \(0.0\) .
(实际上这也导致浮点数分布不均匀)
Infinity & NaN - 特殊情况
注:NaN 是 Not a Number 的意思,也就是不是一个(实)数 .
当指阶码全为 \(1\) 时:
- 当
frac
域全为 \(0\) 时,得到的值表示无穷,符号看s
. - 否则是 NaN .
可能产生 NaN 的有:
- \(\infty+(-\infty)\) .
- \(0\times\infty\) .
- \(0/0\),\(\infty / \infty\) .
- 模 \(0\),被 \(\infty\) 模(为啥浮点数能取模???)
- 负数开根号 .
浮点数分布
\([-1,1]\) 的浮点数分布:
实际上,IEEE754 标准中,\([0,2)\) 里的浮点数比 \([2,\infty)\) 里的浮点数多,可以看 知乎回答 .
示例浮点数
其他类型的浮点数
- 半精度 (Half) 浮点数 (16bit)
- 四精度 (Quadruple) 浮点数 (128bit)
- 八精度 (Octuple) 浮点数 (256bit)
延伸精度与上面的又不太一样 .
延伸精度可以视为 精度运算的中间变量,就好像 \(32\) 位整数相乘时,要取到 \(64\) 位一样 .
延伸双精度定为 \(79\) 位以上,便于执行比双精度更精确的计算 . 一些储存标准中为扩展精度提供了专门的最高位 . 按照维基百科最高位的存在使延伸精度可以表示更多 额外状态,比如运算中的精度损失 .
C++ 中 long double
可以实现延伸双精度,长度为 \(80/96/128\) 位 .
舍入与精度误差
浮点数精度范围
浮点数舍入
上面是舍入模式的几个例子,相信大家都看懂了 .
C++ 中可以通过 fesetround
调整舍入模式,fegetround
获取舍入模式 .
Reference
- 深入理解计算机系统 / CSAPP
- IEEE 754浮点数标准详解
- IEEE754浮点数表示法——浮点数的范围和误差
- https://www.luogu.com.cn/blog/nederland/
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/16608176.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ