gpt4 book ai didi

c - 从文件中读取位时 `16 longs` 和 `110 words` 的含义是什么

转载 作者:行者123 更新时间:2023-11-30 17:42:57 28 4
gpt4 key购买 nike

我正在尝试读取属于 warcraft 2 游戏 map 的 PUD 文件格式。

在文件结构的解释中,有一些小短语我不明白。

这是什么意思(16 个长字符110 个单词)

这是一个例子

16 longs -------> Units and buildings allowed. (16 players)

units bit order:
0000000000000000000000000000000x bit0: footman/grunt
000000000000000000000000000000x0 bit1: peasant/peon
00000000000000000000000000000x00 bit2: ballista/catapult
0000000000000000000000000000x000 bit3: knight/ogre
000000000000000000000000000x0000 bit4: archer/axe thrower
00000000000000000000000000x00000 bit5: mage/death knights
0000000000000000000000000x000000 bit6: tanker
000000000000000000000000x0000000 bit7: destroyer
00000000000000000000000x00000000 bit8: transport
0000000000000000000000x000000000 bit9: battleship/juggernault
000000000000000000000x0000000000 bit10: submarine/turtle
00000000000000000000x00000000000 bit11: flying machine/balloon
0000000000000000000x000000000000 bit12: gryphon/dragon
000000000000000000x0000000000000 bit13: unused/unused
00000000000000000x00000000000000 bit14: demo. squad/sapper
0000000000000000x000000000000000 bit15: aviary/roost
000000000000000x0000000000000000 bit16: farm
00000000000000x00000000000000000 bit17: barracks
0000000000000x000000000000000000 bit18: lumber mill
000000000000x0000000000000000000 bit19: stables/mound
00000000000x00000000000000000000 bit20: mage tower/temple
0000000000x000000000000000000000 bit21: foundry
000000000x0000000000000000000000 bit22: refinery
00000000x00000000000000000000000 bit23: inventor/alchemist
0000000x000000000000000000000000 bit24: church/altar storms
000000x0000000000000000000000000 bit25: tower
00000x00000000000000000000000000 bit26: town hall/great hall
0000x000000000000000000000000000 bit27: keep/stronghold
000x0000000000000000000000000000 bit28: castle/fortress
00x00000000000000000000000000000 bit29: blacksmith
0x000000000000000000000000000000 bit30: shipyard
x0000000000000000000000000000000 bit31: unused

这是否意味着16 longs = 16*4Bytes = 6416*32Bits = 512或其他。
110 个单词也是如此。

最佳答案

它们指的是特定架构上的 C 类型。在 C 语言中,long 是一种变量类型。它的大小根据编译器的函数而变化,但在本例中它是一个 32 位值。字是处理器字,用现代术语来说通常是 32 位。然而,魔兽争霸2是很久以前编写的,并且运行在16位机器上。正如 Sean 在评论中指出的那样,在此上下文中,单词是 16 位。

回答评论中的问题:

16 个长整型 = 16 * 32 位 = 512 位 = 64 字节。

110 个字 = 110 * 16 位 = 1760 位 = 220 字节。

关于c - 从文件中读取位时 `16 longs` 和 `110 words` 的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353782/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com