是否有 16 大小数据的类型?

Is there a type for 16 size data?

听说32位电脑(1990~2000?) 必须使用如下的8位数据; (我听说...没有 8 号类型,然后...) 他们是这样使用的;

// 8 size 
typedef union _LARGE_INTEGER {
    struct {
        DWORD LowPart;
        LONG HighPart;
    } DUMMYSTRUCTNAME;
    struct {
        DWORD LowPart;
        LONG HighPart;
    } u;
    LONGLONG QuadPart; // I'm not sure of this part;
} LARGE_INTEGER;

所以我想尝试为自己制作一个 16 号的字体 可以这么用吗??

// 16 size 
typedef union INTERGER128 {
    struct {
        LONGLONG LowPart;
        LONGLONG HighPart;
    } u;
} _INTERGER128;

Is there a type for 16 size data?

没有保证为 16 字节的标准基本类型。在某些语言实现中,有一个 128 位整数类型作为语言扩展。

typedef union INTERGER128 {
    LONGLONG LowPart;
    LONGLONG HighPart;
} _INTERGER128;

我看不出你建议的工会有用。此外,该联合的大小将与 LONGLONG 相同。您还没有说明它是如何定义的,但是如果它是 long long 那么在大多数系统上都是 64 位类型;不是 128.

您可以像这样定义自定义 128 位 class:

struct INTERGER128 {
    std::uint64_t low;
    std::uint64_t high;
};

P.S。 _INTERGER128_LARGE_INTEGER 标识符保留给语言实现。你应该使用另一个名字。或者只是不要定义无意义的别名。

P.P.S。有一个基于标准库的宽整数提案:p0539

我用了另一种方法来生成一个 16 大小的变量

__declspec(align(16)) struct aa {
    long long a;
    long long b;
    char c;
}

这样你就可以在结构中制作一个 16 大小的填充