SCUPhoenix头像
关注
蓝桥杯从零到获奖Day2(C/C++)封面图

蓝桥杯从零到获奖Day2(C/C++)

3.数据类型

3.5 signed和unsigned

signed和unsigned关键字是用于修饰字符型整型类型的。

signed有符号表示一个类型带有正负号

包含负数

unsigned无符号表示该类型不带有正负号只能表示零和正整数

对于int类型,默认是带有正负号的,等同于signed int;

int类型也可以不带正负号,只表示非负整数,但必须使用关键字unsigned声明变量。

变量声明为unsigned类型,同样长度的内存可以存储的最大整数值,增大了一倍。

例如,16位的signed short int存储范围是-32768——32767;而16位的unsigned short int存储范围是0——65535。 

注:对于char来说,char不一定等价于signed char,取决于编译器。                             

3.6 数据类型的长度

每种数据类型都有自己的长度。

3.6.1 sizeof操作符

sizeof是关键字,也是操作符,专门用来计算特定数据类型的长度的,单位是字节。

sizeof操作符的操作数可以是类型,也可以是变量名或者表达式,如下

sizeof(类型)
sizeof 表达式    //操作数是表达式是可以省略括号

sizeof的计算结果是无符号整数,即size_t类型,单位是字节,虽然形式上看是一个整数,但该类型包含所有可能的unsigned int,unsigned long,unsigned long long等类型(具体由编译器决定)。

以下代码具体说明其用法:

#include <iostream>
using namespace std;

int main()
{
    int a = 100;
    //sizeof 计算结果的单位是字节

    cout << sizeof(a) << endl;
    cout << sizeof a <<endl;
    cout << sizeof(int) << endl;

    return 0;
}

结果如下:

4
4
4

即说明数据类型为整型(int)的变量a的长度为4个字节,数据类型整型(int)的长度也是4

个字节,不难理解。

3.6.2 各数据类型长度

我们通过sizeof再计算一些数据类型的长度:

这里便可以理解int,long,long long,以及float(单精度)和double(双精度)的区别了;

注:C/C++标准规定long的长度大于等于int,这里两者均为4字节。

·1个字节==8bit==8个比特位

3.7 各类型取值范围

数据类型的长度则决定了该种类型变量的取值范围

可直接在程序中使用使用CHAR_MIN,CHAR_MAX等,需包含相应头文件。

3.8 typedef                          

typedef关键字是用来给类型重命名的,可以简化类型,提升编码速度,形式如下:

typedef 旧类型名 新类型名

示例:

typedef unsigned long long ull; 
//可放在函数外

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2501_90261939/article/details/157979423

文章来源转载

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--