1.int(整型数据):

1.1 进制的表示:十进制,八进制,16进制,二进制

   int number1 = 15; // Decimal
int number2 = 017; // Octal
int number3 = 0x0F; // Hexadecimal
int number4 = 0b00001111; // Binary

上面几种表示方式都表示15这个数字,用cout输出得到相同的结果

1.2 声明和初始化:int类型占据4个字节(32位)

声明并且初始化一个数可以使用大括号,括号和=。

利用大括号{}进行声明和初始化:

int elephant_count; //Variable may contain random garbage value . WARNING
int lion_count{};//Initializes to zero
int dog_count {10}; //Initializes to 10
int domesticated_animals { dog_count + cat_count };
int narrowing_conversion {2.9};//Compiler error

利用括号()进行声明和初始化:

int test();  //error
int orange_count(10);
int fruit_count (apple_count + orange_count);
int narrowing_conversion_functional (2.9); //Information lost.

利用=进行初始化:

int truck_count = 7;
int vehicle_count = bike_count +truck_count;
int narrowing_conversion_assignment = 2.9; //information lost

通过对比可以发现,{}来初始化整型数据是最安全的,对于没有赋初值的整型数据会自动初始化为0,对于赋值为浮点数的数据类型会报编译器错误。

1.3 long/short, signed/unsigned 标识符

unsigned int range  0~2^n-1  4 bytes

signed int range  -2^(n-1)~2^(n-1)-1  4 bytes

signed/unsigned 修饰符不影响内存空间

修饰符 内存占用
signed/unsigned short (int) 2
signed/unsigned (int) 4
signed/unsigned long (int) 4(部分编译器可能是8)
signed/unsigned long long (int) 8

有修饰符的时候可以省略int

//unsigned int value4{-5}; // Compiler error.    

// short 关键字占据2 Bytes
short short_var {-32768} ; // 2 Bytes
short int short_int {455} ; //
signed short signed_short {122}; //
signed short int signed_short_int {-456}; //
unsigned short int unsigned_short_int {456}; // 没有short或者long关键字都占据4 Bytes
int int_var {55} ; // 4 bytes
signed signed_var {66};//
signed int signed_int {77};//
unsigned int unsigned_int{77}; // long关键字一般占据4 Bytes
long long_var {88}; // 4 OR 8 Bytes
long int long_int {33};
signed long signed_long {44};
signed long int signed_long_int {44};
unsigned long int unsigned_long_int{44}; // long long关键字占据8 Bytes
long long long_long {888};// 8 Bytes
long long int long_long_int {999};
signed long long signed_long_long {444};
signed long long int signed_long_long_int{1234};
unsigned long long int unsigned_long_long_int{1234};

C++学习笔记二:变量与数据类型(整型)的更多相关文章

  1. Java学习笔记之——变量与数据类型、运算符

    一.变量 1.变量:变化的值 变量在代码运行期间,开辟了一块空间 .这块空间是有地址的,给这块取了个名字, 这个名字就叫做变量名,这块空间放的东西叫做变量值 2.变量的初始化: (1)先声明再赋值: ...

  2. MySQL学习笔记(二):MySQL数据类型汇总及选择参考

    本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型.  ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...

  3. 【Python】学习笔记二:基本数据类型

    变量 python的变量不需要提前声明,可以直接输入: >>> str = 'oliver' 此时,str已经被赋值字符串oliver,在赋值之前并没有提前定义与事先声明 打印值 & ...

  4. Go语言学习笔记(二) [变量、类型、关键字]

    日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号.   2.Go 同其他语言不同的地方在于变 ...

  5. tensorflow学习笔记二----------变量

    tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...

  6. Typescript 学习笔记二:数据类型

    中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...

  7. Go语言学习笔记二: 变量

    Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...

  8. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  9. Mysql学习笔记(一)数据类型

    原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型     Mysql数据类型             含义(有符号)     tinyint(m ...

  10. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

随机推荐

  1. 《SQL与数据库基础》20. 主从复制

    目录 主从复制 原理 搭建 主库配置 从库配置 测试 本文以 MySQL 为例 主从复制 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执 ...

  2. MIT 6.828 Lab实验记录 —— lab1 Booting PC

    实验参考信息 MIT 6.828 lab1 讲义地址 MIT 6.828 课程 Schedule MIT 6.828 lab 环境搭建参考 MIT 6.828 lab 工具guide Brennan' ...

  3. FFmpeg中的常用结构体分析

    一.前言 在学习使用FFmpeg进行编解码时,我们有必要先去熟悉FFmpeg中的常用结构体,只有对它们的含义和用途有深刻的了解,我们才能为后面的学习打下坚实的基础.所以,这篇文章将会介绍这些常用的结构 ...

  4. 万字+20张图剖析Spring启动时核心的12个步骤

    大家好,我是三友~~ 今天来扒一扒Spring在启动过程中核心的12个步骤 之所以来写这篇文章,主要是来填坑的 之前在三万字盘点Spring 9大核心基础功能这篇文章的末尾中给自己挖了一个坑,提了一嘴 ...

  5. MD5&MD5盐值加密到BCryptPasswordEncoder

    MD5&MD5盐值加密 Message Digest algorithm5,信息摘要算法: 压缩性:任意长度的数据,算出的MD5值长度都是固定的 容易计算:从原数据计算出MD5值很容易 抗修改 ...

  6. 使用MySQL存储过程提高数据库效率和可维护性

    MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数.存储过程可以大幅提高数据库的性能.安全性和可维护性.本文将详细介绍MySQL存储过程的使用. ...

  7. 2015-CS

    2015-CS 数据库部分 create table [EMPLOYEE]( [EmpNo] varchar(10) not null primary key, [EmpName] varchar(1 ...

  8. Solution -「BZOJ 3779」重组病毒

    Description Link. Given is a tree. Every node initially has a color which is different from others'. ...

  9. Go指针探秘:深入理解内存与安全性

    Go指针为程序员提供了对内存的深入管理能力,同时确保了代码的安全性.本文深入探讨了Go指针的基础概念.操作.深层理解及其特性与限制.通过深入了解其设计哲学和应用,我们可以更好地利用Go的强大功能. 关 ...

  10. MapReduce和Spark读取HBase快照表

    1.概述 随着大数据技术的不断发展,处理海量数据的需求变得愈发迫切.MapReduce作为一种分布式计算模型,为处理大规模数据提供了有效的解决方案.在这篇博客中,我们将探讨如何使用MapReduce框 ...