共用方式為


XMFLOAT3SE 結構 (directxpackedvector.h)

描述三個浮點數位件的 3D 向量,每個元件都共用相同的 5 位指數。

如需在 C++ 中程式設計時可用的 XMFLOAT3SE 建構函式和運算子等其他功能清單,請參閱 XMFLOAT3SE Extensions

語法

struct XMFLOAT3SE {
  union {
    struct {
      uint32_t xm : 9;
      uint32_t ym : 9;
      uint32_t zm : 9;
      uint32_t e : 5;
    };
      uint32_t v;
  };
  void         XMFLOAT3SE();
  void         XMFLOAT3SE(
    const XMFLOAT3SE & unnamedParam1
  );
  XMFLOAT3SE & operator=(
    const XMFLOAT3SE & unnamedParam1
  );
  void         XMFLOAT3SE(
    XMFLOAT3SE && unnamedParam1
  );
  XMFLOAT3SE & operator=(
    XMFLOAT3SE && unnamedParam1
  );
  void         XMFLOAT3SE(
    uint32_t Packed
  ) noexcept;
  void         XMFLOAT3SE(
    float _x,
    float _y,
    float _z
  ) noexcept;
  void         XMFLOAT3SE(
    const float *pArray
  ) noexcept;
  void         operator uint32_t() noexcept;
  XMFLOAT3SE & operator=(
    uint32_t Packed
  ) noexcept;
};

成員

9 xm

9 位 x 元件。

9 ym

9 位 y 元件。

9 zm

9 位 z元件。

5 e

5 位共享指數。

v

表示 3D 向量的無符號 32 位整數。

void XMFLOAT3SE ()

的預設建構函式 XMFLOAT3SE

XMFLOAT3SE的預設建構函式。

注意 此建構函式只能在 C++ 下使用。
 

void XMFLOAT3SE ( const XMFLOAT3SE & unnamedParam1)

的建構函式 XMFLOAT3SE

XMFLOAT3SE的建構函式。

注意 此建構函式只能在 C++ 下使用。

XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)

void XMFLOAT3SE ( XMFLOAT3SE && unnamedParam1)

的建構函式 XMFLOAT3SE

XMFLOAT3SE的建構函式。

注意 此建構函式只能在 C++ 下使用。

XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)

void XMFLOAT3SE ( uint32_t Packed) noexcept

從變數初始化 的新實例 XMFLOAT3SEuint32_t 其中包含封裝格式的元件數據。

這個建構函式會從uint32_t包含封裝格式之元件數據的變數,初始化 XMFLOAT3SE 的新實例。

注意 此建構函式只能在 C++ 下使用。
 

void XMFLOAT3SE ( float _x、float _y、float _z) noexcept

從三float個自變數初始化 的新實例XMFLOAT3SE

這個建構函式會從三float個自變數初始化 XMFLOAT3SE 的新實例。

注意 此建構函式只能在 C++ 下使用。
 

void XMFLOAT3SE ( const float *pArray) noexcept

從三float個項目數位自變數初始化 XMFLOAT3SE 的新實例。

這個建構函式會從三個元素 float 陣列自變數初始化 的新實例 XMFLOAT3SE

注意 此建構函式只能在 C++ 下使用。

void 運算符 uint32_t () noexcept

傳回的實例 uint32_t ,其中包含封裝格式之 XMFLOAT3SE 實例的元件。

這個運算符會傳回的實例 uint32_t ,其中包含封裝格式之 XMFLOAT3SE 實例的元件。

注意 此運算子僅適用於 C++。
 

XMFLOAT3SE & operator= ( uint32_t Packed) noexcept

這個運算子會將 封裝在 實例 uint32_t 中的向量元件數據指派給目前的 XMFLOAT3SE 實例。

注意 此運算子僅適用於 C++。
 

備註

實例 XMFLOAT3SE 的三個元件值會以下列格式儲存在 實例的 v 中:結構的 e 成員 XMFLOAT3SE -- 所有三個元件的 XMFLOAT3SE 浮點數所共用的指數會以傳回值的最高順序位儲存,以及儲存在最小有效位的 x 元件中。


   (E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]

或詳細資料:

  • Packed 的位 0-8 是 x 元件浮點值的 9 位 mantissa:目前結構的 xm 成員。
  • Packed 的位 9-17 是 y 元件浮點值的 9 位多位:目前結構的 ym 成員。
  • Packed 的位 18-26 是 z 元件浮點值的 9 位多位:目前結構的 zm 成員。
  • Packed 的位 27-31 是與預存 mantissas (xmymzm) 搭配使用的 5 位指數,代表每個元件的大小:目前結構的 e 成員。
因為結構中 XMFLOAT3SE 沒有用來儲存元件的格式符號位,所以所有元件值都是正數。

XMFLOAT3SE可以使用 XMLoadFloat3SE 載入 XMVECTOR 實例。

XMVECTOR實例可以使用 XMStoreFloat3SE 儲存至 的XMFLOAT3SE實例。

命名空間: 使用 DirectX::P ackedVector

平臺需求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 搭配 Windows SDK for Windows 8。 支援 Win32 傳統型應用程式、Windows 市集應用程式和 Windows Phone 8 個應用程式。

規格需求

   
標頭 directxpackedvector.h

另請參閱

DirectXMath 連結庫結構

XMFLOAT3SE延伸模組