解释大字节序,以及很少的字节序体系结构

文章翻译 文章翻译
文章编号: 102025 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

在设计的计算机时,有两种不同的体系结构 forhandling 内存存储区。它们被称作大字节序,并很少 Endianand 参考字节内存中的存储的顺序。Windows NT 周围小字节序体系结构设计,而且是 notdesigned 能够与大字节序兼容,因为大多数程序 arewritten 与某些依赖小字节序。

更多信息

这些两个词组都源自"较大的一端向内"和"略在结束。"它们引用在其中存储内存的方式。在英特尔计算机上,第一次存储几乎结束。作为 (0x34 0x12),这意味着如在内存中的 0x1234 isstored 的十六进制单词。小结束,或降低结束,isstored 第一次。同样适用于四个字节的值。例如,0x12345678 将存储为 (0x78 0x56 0x34 0x12)。"较大的一端在"反向方式,因此,0x1234 将在内存中存储为 (0x12 0x34) 的 doesthis。这是摩托罗拉的计算机所使用的方法,并可以还基于 RISC 的计算机上使用。基于 risc 的昂贵的 MIPS 计算机和 theDEC Alpha 计算机可配置用于大字节序,或很少 Endian.Windows NT 只适用于两台计算机上的小字节序模式。

Windows NT 周围小字节序体系结构设计。遵照硬件抽象层 (HAL) 编写,以便自动处理所有与操作系统相关的问题。因此,它创建一个将大字节序结构是可行的 HAL 的 ispossible。将代码移植的基本问题必须与为所有程序编写代码的方式。通常编写代码用空格大字节序或小字节序正被使用。此 maynot 是特定的 hal。这可能是像 bitmasking 图形这样简单。为了阐明这一概念更多,按照两个 programmingexamples。

示例 1

   struct
   {
      WORD y;
      WORD x;
   } POS;

   lparam = (DWORD) POS;
				
基本上,没有小字节序是 beingused 的代码中的假设。个字节交换被假定在 ' C'structure。这对于更快的英特尔体系结构,但将 workwith 不大字节序。

示例 2

另一个示例是使用位掩码的常见做法。Followingis 示例定义的位掩码:
   #define BITMASK    0x0008
				
这使您可以检查第四位是 1 如果您和其 withanother 号。它还允许您设置由 or 通过另一个值的第四位。就会出现问题时您或或和此 withDWORD (双字) 或 WORD 以外的任何大小的值。Thiscauses 很奇怪的事情发生,意外的结果。可能 makeassumptions 有关它如何使用很少的字节序,但它不会奏效与大字节序的方式相同。大量是代码的 alreadycreated 与这些内置的假设。

请注意 PowerPC 和 Sparc 芯片也种可切换到 LittleEndian 和大字节序之间。但是,苹果 PowerMac 实施的 thePowerPC 芯片卡在大字节序模式。因此,Windows NT 可以端口 tothePowerPC,但可能不适用于 PowerPC 的 PowerMac 实现。

属性

文章编号: 102025 - 最后修改: 2014年2月9日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft Windows NT Workstation 3.1
关键字:?
kbhardware kbmt KB102025 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 102025
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com