首页 > 其他分享 >枚举和枚举的取值范围

枚举和枚举的取值范围

时间:2024-07-03 11:53:13浏览次数:12  
标签:blue color 取值 yellow 枚举 bits red 范围

1,枚举

1.1 基本使用

#include <iostream>
using namespace std;
// 枚举对应的值为[0,1,2,3]
enum color {red, blue, green, yellow};

int main()
{
    color c;
    c = red;
    cout << c << endl;

    // 整形赋值需要强制类型转换
    c = (color)2;
    cout << c << endl;

    // 超出变量范围不会报错,但是不提倡使用,也不应该依赖该值
    // 是非法的
    c = (color)1024;
    cout << c << endl;

    // 枚举值可自动转换为int
    int n = blue;
    cout << n << endl;

}

// 枚举值不支持除了=之外的其他运算符,比如+,-等。这是不合法的。枚举没有定义这些符号。

1.2 枚举赋初值

#include <iostream>
#include <stdio.h>
using namespace std;
// 枚举对应的值为[0,3,4,0,1]
enum color {red, blue=3, green, yellow=0, orange};
// 从0开始,其中没有赋值的将向前查找最近的有赋值的元素然后自然增长,依次类推
int main()
{
    printf_s("%d %d %d %d %d\n", red, blue, green, yellow, orange);

}

1.3 枚举的范围

// 现代c++可以通过强制类型转换将int值转换为枚举值
// 每个枚举都有其合法的取值范围,其范围为:
// 上限:取大于枚举最大值最小的2的幂值-1,
// 下限:如果为最小值为正数,则下限取0,如果为负数,取小于枚举最小值最大的2的幂值+1,
enum bits {value=-6, one=1, two=2,eight=8};
// bits的合法的上限为:bits最大的值为8,则大于枚举最大值8最小的2的幂为16,-1则为15
// bits的合法下限位:bits最小的值为-6,则小于枚举最小值-6的最大的2的幂为-8,+1则为-7,
//所以bits的合法范围为[-7,15]

标签:blue,color,取值,yellow,枚举,bits,red,范围
From: https://www.cnblogs.com/jlxa162hhf/p/18281330

相关文章

  • C#的方法重载,枚举,结构体
    一.方法重载staticvoidAdd(){Console.WriteLine(10+20);}staticvoidAdd(){Console.WriteLine(10.5+20.5);}上述的代码是无法运行的,报错的原因是因为,他们两个方法名一样,所以报错,而方法重载,简单的说就是要两个方法名一样,如果方法名一样,那又该怎么......
  • go语言之map取值
    packagemainimport("fmt")funcmain(){//定义一个maptemp_dict:=make(map[string]string)temp_dict["A"]="A__value"//1获取某一个key的值//1.1两个返回值r1_value,r1_exisit:=temp_dict["A"]......
  • 项目范围管理(信息系统项目管理师)
     需求管理计划的主要内容包括:如何规划跟踪和报告各种需求活动、配置管理活动(例如,如何启动变更,如何分析其影响,如何进行追溯,跟踪和报告,以及变更审批权限)、需求优先级排序过程、测量指标及使用这些指标的理由、反映哪些需求熟悉将被列入跟踪矩阵等产品范围的完成情况是根据产品......
  • 项目范围管理(信息系统项目管理师)
    需求管理计划是对项目的需求进行定义、确定、记载、核实管理和控制的行动指南。制定需求管理计划,规划如何分析、记录和管理需求,这样才是较为稳妥的方法在信息系统集成项目中,需求管理贯穿于整个过程,他的最基本的任务就是明确需求,并使项目团队和用户达成共识,即建立需求基线需求管......
  • Redis 搜索日期范围内的查询
    目录Redis搜索日期范围内的查询1.存储日期数据2.查询日期范围3.使用有序集合总结Redis搜索日期范围内的查询Redis是一种快速、高效的数据存储和检索工具,常用于缓存和实时数据处理。虽然Redis设计并不专注于日期范围查询,但可以通过一些技巧实现该功能。本文将介绍......
  • “了解MySQL中的enum枚举数据类型“
    目录#开篇1.创建包含枚举类型的表2.插入枚举类型的数据3.查询包含枚举类型的表4.更新枚举类型的数据5.使用枚举类型的好处注意事项示例总结附加#开篇        在数据库中,枚举(ENUM)是一种数据类型,用于存储一组预定义的值。这在某些情况下非常有用,例如......
  • C#快速入门(十):枚举
    一、枚举1.1 IEnumerator接口IEnumerator接口是用于支持集合类的迭代的接口。它定义了用于访问集合中元素的成员,并提供了一种统一的方式来遍历集合中的元素。IEnumerator接口定义了以下成员:Current属性:获取集合中当前位置的元素。MoveNext()方法:将迭代器推进到集合中......
  • 力扣每日一题 美丽下标对的数目 枚举 哈希
    Problem:2748.美丽下标对的数目......
  • c语言回顾-联合和枚举
    前言前面讲解了自定义类型-结构体,本节小编将讲解新的自定义类型联合体和枚举。1.联合体1.1联合体类型的声明像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以不同的类型。但是编译器只为最大的成员分配足够的内存空间。联合体的特点是所有成员共用同......
  • c++ 结构体 联合体 枚举
    结构体:结构体是一种特殊形态的类在C语言中,结构体是一种复合数据类型,用于将多个基本类型或其他复合类型的数据组合成一个整体。结构体中的成员可以是不同的类型,并且可以有不同的访问权限(在C语言中,所有成员默认都是公有的)。在C语言中,结构体不支持成员函数和继承等面向对象的特......