名稱空間
變體
操作

__STDC_ENDIAN_LITTLE__, __STDC_ENDIAN_BIG__, __STDC_ENDIAN_NATIVE__

來自 cppreference.com
< c‎ | 數值
定義於標頭檔案 <stdbit.h>
#define __STDC_ENDIAN_LITTLE__ /* 實施定義 */
(1) (自 C23 起)
#define __STDC_ENDIAN_BIG__    /* 實施定義 */
(2) (自 C23 起)
#define __STDC_ENDIAN_NATIVE__ /* 實施定義 */
(3) (自 C23 起)

指示所有標量型別位元組序

  • 如果所有標量型別都是小端序,則 __STDC_ENDIAN_NATIVE__ 等於 __STDC_ENDIAN_LITTLE__
  • 如果所有標量型別都是大端序,則 __STDC_ENDIAN_NATIVE__ 等於 __STDC_ENDIAN_BIG__
  • 如果平臺既不是小端序也不是大端序,則 __STDC_ENDIAN_NATIVE__ 既不等於 __STDC_ENDIAN_BIG__ 也不等於 __STDC_ENDIAN_LITTLE__
  • __STDC_ENDIAN_BIG____STDC_ENDIAN_LITTLE__ 的整數常量表達式的值不相等。

[編輯] 示例

#include <stdbit.h>
#include <stdio.h>
 
int main()
{
    switch(__STDC_ENDIAN_NATIVE__)
    {
        case __STDC_ENDIAN_LITTLE__:
            printf("__STDC_ENDIAN_LITTLE__\n");
            break;
        case __STDC_ENDIAN_BIG__:
            printf("__STDC_ENDIAN_BIG__\n");
            break;
        default:
            printf("mixed-endian\n");
    }
    return __STDC_ENDIAN_NATIVE__;
}

可能的輸出

mixed-endian

[編輯] 參閱

C++ 文件,關於 endian