今天心血来潮,想要在开学前再给大家 “补点脑子” ,想必有些人肯定也像我一样 “CPU烧了” “小脑萎缩了” “蕉绿了” 之类的常见现象。
那么我们今天就来聊一聊C++中的常用关键字—— signed。
以后我会多多更新关于这方面的内容的!!!
1、signed简介(重要):
在C++中,signed 是一个关键字,用于声明有符号类型的变量或函数。通常情况下,signed 用于修饰整数类型,以明确指定该整数类型是有符号的。
在 C++ 中,int 是一个有符号整数类型,但是 signed 关键字通常可以省略,因为 int 默认就是有符号的。但是在一些特殊情况下,为了增强代码的可读性,人们会明确地使用 signed int 来表明一个整数是有符号的。
示例:
int x;
signed int y;
那么你学了signed之后,你就可以把C++程序结构框架这样写了:
#include <bits/stdc++.h>
using namespace std;
signed int main(){
return 0;
}
2、signed和int的区别(重要):
signed和int的区别:在 C++ 中,signed 和 int 是两个不同的概念:
1.signed 是一个关键字,用于声明有符号类型的变量或函数。例如,signed int x; 声明了一个有符号的整数变量 x。
2.int 是一个基本数据类型,表示整数。在不指定类型修饰符的情况下,默认情况下 int 是有符号的。
所以,signed 和 int 的区别在于,signed 是用于指定数据类型有符号的关键字,而 int 是表示整数的数据类型。在实际使用中,可以使用 signed int 来明确声明一个有符号的整数类型,但是通常情况下 int 默认就是有符号的,所以 signed 通常是可以省略的。
3、signed的深究(不用标记了,每一句话都是重点!)
当声明一个整数类型时,默认情况下它是有符号的,这意味着它可以表示正数、负数和零。在 C++ 标准中,整数类型可以分为有符号(signed)和无符号(unsigned)两种类型。
关于 signed 的深入探讨可以从以下几个方面展开:
表示范围:
有符号整数类型可以表示正数、负数和零,其范围通常是从负的最大值到正的最大值。例如,对于一个有符号的 32 位整数 (signed int),范围通常是 -2,147,483,648 到 2,147,483,647。
无符号整数类型只能表示非负数(包括零),其范围从零到正的最大值。例如,对于一个无符号的 32 位整数 (unsigned int),范围通常是从 0 到 4,294,967,295。
默认类型:
在 C++ 中,int 默认是有符号的,即 signed int。所以当你声明一个整数类型时,如果不指定 unsigned,那么就是默认的有符号类型。
类型推断:
当使用 auto 关键字进行类型推断时,如果初始化表达式为整数字面值,则推断的类型通常是 int,即 signed int。例如,auto x = 10; 中 x 推断为 int 类型,即有符号整数类型。
兼容性:
在 C++ 中,有符号整数类型和无符号整数类型可以进行混合运算,但是需要注意一些细节,例如有符号整数和无符号整数之间的比较。混合类型的表达式会根据 C++ 的整数提升规则进行类型提升,以保证表达式的正确性。
总之,signed 用于指定整数类型是有符号的,而有符号整数类型可以表示正数、负数和零,其范围从负的最大值到正的最大值。在大多数情况下,我们使用默认的有符号整数类型 int,除非有特殊需求需要使用无符号整数类型或明确指定为 signed。
完结撒花!!! ❀❀❀❀❀
满满的干货,就当是送给自己的开学礼物吧!