Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看我!隐世宗门掌教 洪荒:开局建立斧头帮 万古不死,葬天,葬地,葬众生 从明玉功开始:武道长生 斗破苍穹之至高真神 修仙长生:从练武开始 洪荒:我夺舍了葫芦娃 综武,我只想安静说书 万古龙帝 我只想安静的打游戏 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第一百三十七章 真正深入了解NBT-3

上一章书 页下一章阅读记录

在上一章,我们讲完了Nbt数据类型中数值类型中的整形形式。按照作者我归纳的:

[字符]

字符串(String)

[数值]

{整形}

字节型(byte:b)

短整型(Short:S)

整型(Int:I)

长整型(Long:L)

{浮点型(小数)}

单精度浮点型(Float:F)

双精度浮点型(double:d)

[数据]

复合标签(pound)

列表(List)

[数组]

字节型数组(byte Array:[b])

整型数组(Int Array:[I])

长整型数组(Long Array:[L])

接下来就应该是小数(浮点数)了。

小数有两种数据类型,这两种类型我们都已经在之前的章节接触过,即:

单精度浮点型(Float:F)

双精度浮点型(double:d)

在第一百三十二章,作者就讲过单精度浮点型和双精度浮点型的占用空间,即:

单精度浮点型——占用空间:32位(4字节)

双精度浮点型——占用空间:64位(8字节)

同时我也提了这两个类型的数值范围:

单精度浮点型:-3.4x103?~3.4x103?

双精度浮点型:-1.x103??~1.x103??

经过了上一章的了解,我们已经知道同样是32位占用空间的Long长整形,它的数值范围达到了:

-(2?3)~2?3-1

即:-922'3372'0368'5477'5808~922'3372'0368'5477'5807

但单精度浮点型却达到了:

-340'0000'0000'0000'0000'0000'0000'0000'0000'0000~340'0000'0000'0000'0000'0000'0000'0000'0000'0000(负三百四十涧至三百四十涧[注:一涧为万沟,一沟为万穰,一穰为万秭,一秭为万垓,一垓为万京])

为什么在相同的存储空间下,Long长整形的数值范围才达到京的程度,而Float单精度浮点型的数值范围却已经达到了涧的程度了呢?这到底是人性的扭曲还是道德的沦丧?

这还没完。我们知道,整数它规定一个最大范围,正负整数就都有其自己的最大值和最小值了。但小数不一样,你规定一个最大值,但它还可以无限增加它的小数位数,如:

1.76x10????????????????

这数虽然很小,但小到小数位数就有999'9999'9999'9999将近千兆位了。如果要表示这串数字,光是4b的空间是绝对不够的。所以,浮点数数值类型也有其自己的小数位数最大值:

单精度浮点型:45位小数位数

双精度浮点型:45位小数位数

看来小数位最大值都一样嘛。

刚才我们提了两个问题:

1.为什么在相同的空间下,Long长整形的数值范围才达到京的程度,而Float单精度浮点型的数值范围却已经达到了涧的程度了呢?

2.这到底是人性的扭曲还是道德的沦丧?

首先我们来解答第一个问题。

其实,不管是什么浮点数,管他是单精度、双精度还是三精度,它们都有一个标准,这个标准就是:IEEE 754-2008(IEEE二进位浮点数算术标准)

这个标准规定了很多东西,想深入了解的话可以去百度百科上,这里就不细讲了。

其中,最重要的也是最简单的莫过于一个公式:

Value=sign bitxexponent biasxfraction

即一个浮点数,等于符号位乘以指数偏移值再乘以分数值。

看不懂是吧?其实,浮点数的表示方法就是用到了我们在学前班就学到过的“科学计数法”。

比如我们的单精度浮点型,它的32个位分别是:

0'00000000'00000000000000000000000

(符号位:1)'(阶码:8)'(尾数:23)

看来还是看不懂啊。算了,总之,是因为浮点数采用了科学计数法的方式来存储,才可以在32位的空间内塞入这么大的数值。

这就是第一个问题的答案。

第二个问题的答案就非常简单了,是:无法确定,因为人类的情绪是无法用语言准确表达出来的,最多也只能表达个大概。

现在我们知道浮点数使用的是科学计数法来存储。这种存储方法有利也有弊:利在于可存储数值的范围扩大了很多;但弊也有,就是能准确存储的数值范围缩小了。

啥意思呢?刚才说过,Long长整形的数值范围是:

-922'3372'0368'5477'5808~922'3372'0368'5477'5807

在这个范围内,存储的数值都是非常准确的,不会你给了个在这个范围内的数,计算机就在后台为了方便给你这个数四舍五入或者砍了几个0。因此,我们就把这个Long长整形的数值范围又叫做Long长整形的有效数值范围。

但浮点数就不一样了,由于使用科学计数法存储,导致数值范围看起来很大,但实际有效数值范围只有那么一点点:

单精度浮点型:7位(整数)

双精度浮点型:16位(整数)

对比一下Long长整形的有效数值范围:19位(整数)

哦天哪!这浮点数,就像是mc的真区块和假区块一样——别看mc边长可以达到21'4748'3647x21'4748'3647,实际上有效游玩范围只有2999'9999x2999'9999,出去了就各种bUG、特性、崩坏,可能时不时还跳出个桌面。

这就告诉了我们一个人间真理:

很多时候,国产游戏广告的内容看起来很牛逼,实际上真实游戏内容只有宣传其中的1%都不到。

嗯,这很资本家。

好了,回到正题。我们目前已经知道了两个浮点型的数值范围、小数位数最大值、有效数值范围和占用存储空间。但别忘了,很多Nbt数据类型都有类型字母的,我们的两个浮点型也不例外,都有自己的字母:

单精度浮点型:f

双精度浮点型:d

具体用法就不再多说了。

我们知道,浮点数是可以表示整数也可以表示小数的。那么在表示整数时,我们要不要加上小数点呢?

答案是加不加都可以,当然最好是加上。

总而言之,两个浮点型的特性分别是——

单精度浮点型:

1.数值范围为-3.4x103?~3.4x103?

2.占用空间32位(4字节)

3.使用IEEE 754-2008标准

4.小数位数最大值位45位

5.有效数值范围为7位整数

6.类型字母位f

7.小数部分都为0时(即值为整数),可不加小数点,但最好要加上。

双精度浮点型:

1.数值范围为-1.x103??~1.x103??

2.占用空间64位(8字节)

3.使用IEEE 754-2008标准

4.小数位数最大值位45位

5.有效数值范围为16位整数

6.类型字母位d

7.小数部分都为0时(即值为整数),可不加小数点,但最好要加上。

上一章目 录下一章存书签
站内强推一胎三宝:妈咪你别跑 钓鱼万倍返还,开局钓起国民女神 乾坤剑神 靠属性变强,我在镇守司吃软饭 豪门通灵萌妻:宫总,有鬼! 修仙小书生 没有异能的我却能靠卡片变身 从现在开始当男神 同桌凶猛 穿越七九,我要娶祖孙三代的女神 近战狂兵 修仙:从掌握变身开始 女修穿年代捡到一条龙脉 成为战姬的我只能好好守护人类了 我的1978小农庄 小饭馆 五年内必死?我选择速通修仙界! 黜龙 男穿女:男主们都爱来偷听爷心声 穿越年代之我变成了女人 
经典收藏踏天境 木叶:从被纲手领养开始 随身带了个仙府 儒道至上?我在异界背唐诗! 天武神帝 幽冥仙途 武侠之神级剑仙 玄幻之神级修炼系统 西游:贫僧不想取西经 镇守禁地的我,原来早就无敌了 本是剑术庸才,那想我的剑会说话 洪荒之最强天帝 开局金风细雨楼主,一刀惊天下 轮回武典 悟性满级:剑阁观剑六十年 十方乱世,人间武圣! 长生:一曲唢呐,送葬诸天仙帝 猎魔人之从超凡开始 长生:养只蚁后加点修仙 从骷髅苦工开始 
最近更新灵璃 我能去天庭搬救兵 我作为系统,锄强扶弱 玄门逆命:天煞为尊 风起十绝:萧大侠的喷嚏江湖 圣剑与剑鞘 西游:祥瑞她高开低走 铁血狼烟:从刽子手到万里侯 高武世界:我签到不良帅横推天下 天穹系统:从废柴到万界主宰 假太监好猛 洪荒:我的系统,助我超越鸿钧 我能徒手开秘境,圣女魔女送上门 杀戮中掠夺,我无敌了 吐槽过剩的我,在仙界被迫成大佬 修真从养猪豚开始 系统推演:我从杂役到魔尊 我的夫人竟是最终Boss 灵犀之主 剑修星际砍虫实录 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说