当前位置: 首页 > 知识库问答 >
问题:

C中有‘字节’数据类型吗?

冯阳成
2023-03-14

如果存在,是否有要包含的头文件?

此代码给出编译错误:

#include <iostream>

using namespace std;

int main()
{
    byte b = 2;

    cout << b << endl;

    return 0;
}

共有3个答案

窦华晖
2023-03-14

不,C中没有字节数据类型。但是,您可以始终包含标准库中的bitset标头并为byte创建一个typedef:

typedef bitset<8> BYTE;

注意:鉴于WinDef. h为Windows代码定义了BYTE,如果您打算以Windows为目标,您可能需要使用BYTE以外的东西。

编辑:回应回答错误的建议。答案是正确的。问题是“C中是否有‘字节’数据类型?”。答案是:“不,C中没有字节数据类型”。

关于所建议的可能的替代办法,有人问,为什么所建议的备选案文更好?

根据我的C标准副本,当时:

声明为字符(char)的对象应该足够大以存储实现基本字符集的任何成员”:3.9.1.1

我读到这篇文章是为了表明,如果编译器实现需要16位来存储基本字符集的成员,那么字符的大小将是16位。今天的编译器倾向于使用8位作为字符是一回事,但据我所知,当然不能保证它会是8位。

另一方面,“类模板位集

因此,在正在编写的程序的上下文中,替代方案是否更好取决于你的编译器和你当时的要求,尽管我可能错了。因此,就我而言,由编写代码的个人来决定建议的替代方案是否适合他们的要求/想要/需要。

澹台胜
2023-03-14

是的,有std::byte(在中定义

C 17引入了它。

盛浩阔
2023-03-14

不,C中没有称为“字节”的类型。取而代之的是无符号字符(或者,如果您正好需要8位,则从uint8_t

 类似资料:
  • 主要内容:值类型,引用类型,指针类型C# 语言中内置了一些基本的数据类型,数据类型用来指定程序中变量可以存储的数据的类型,C# 中的数据类型可以大致分为三类: 值类型(Value types); 引用类型(References types); 指针类型(Pointer types)。 值类型 C# 中的值类型是从 System.ValueType 类中派生出来的,对于值类型的变量我们可以直接为其分配一个具体的值。当声明一个值类型的变

  • 在用任何语言编写程序时,您需要使用各种变量来存储各种信息。 变量只是用于存储值的保留内存位置。 这意味着当您创建变量时,您在内存中保留了一些空间。 您可能希望存储各种数据类型的信息,如字符,宽字符,整数,浮点,双浮点,布尔等。根据变量的数据类型,操作系统分配内存并决定可以存储的内容。保留的记忆。 原始内置类型 C ++为程序员提供了丰富的内置和用户定义的数据类型。 下表列出了七种基本的C ++数据

  • 使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。 您可能需要存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么。 基本的内置类型 C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型。下表

  • 主要内容:1. 整数类型,2. 浮点类型,3. void类型在Objective-C编程语言中,数据类型是指用于声明不同类型的变量或函数的扩展系统。 变量的类型决定了它在存储中占用的空间大小以及如何解释存储的位模式。 Objective-C中的类型可分为以下几类 - 编号 类型 描述 1 基本类型 它们是算术类型,由两种类型组成:(a)整数类型和(b)浮点类型。 2 枚举类型 它们又是算术类型,用于定义只能在整个程序中分配某些离散整数值的变量。 3 voi

  • 本文向大家介绍C语言实现 数据类型占多少字节指针占多少字节,包括了C语言实现 数据类型占多少字节指针占多少字节的使用技巧和注意事项,需要的朋友参考一下 具体代码如下所示: 结果: 知识点扩展: c语言实现十进制与ASCII码互转 总结 以上所述是小编给大家介绍的C语言实现 数据类型占多少字节指针占多少字节,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对

  • 问题内容: 我在HQL上尝试获取没有分类的工件(当active为0时) 每当我跑步时,我都会收到错误消息 分类定义: 您可以参考以前遇到的问题,以了解我到底要执行的任务Quest1和Quest 2 问题答案: SQL查询使用列名称,而HQL查询使用类属性。您正在从分类中选择artifact_id,但是分类类没有名为“ artifact_id”的属性。要解决此问题,请使用HQL中的class属性。