C++学习笔记二:变量与数据类型(整型)
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++学习笔记二:变量与数据类型(整型)的更多相关文章
- Java学习笔记之——变量与数据类型、运算符
一.变量 1.变量:变化的值 变量在代码运行期间,开辟了一块空间 .这块空间是有地址的,给这块取了个名字, 这个名字就叫做变量名,这块空间放的东西叫做变量值 2.变量的初始化: (1)先声明再赋值: ...
- MySQL学习笔记(二):MySQL数据类型汇总及选择参考
本文主要介绍了MySQL 的常用数据类型,以及实际应用时如何选择合适的类型. ******几个通用的简单原则:******* 1. 更小的通常更好.但是要确保没有低估需要存储的值的范围,如果无法确定 ...
- 【Python】学习笔记二:基本数据类型
变量 python的变量不需要提前声明,可以直接输入: >>> str = 'oliver' 此时,str已经被赋值字符串oliver,在赋值之前并没有提前定义与事先声明 打印值 & ...
- Go语言学习笔记(二) [变量、类型、关键字]
日期:2014年7月19日 1.Go 在语法上有着类 C 的感觉.如果你希望将两个(或更多)语句放在一行书写,它们 必须用分号分隔.一般情况下,你不需要分号. 2.Go 同其他语言不同的地方在于变 ...
- tensorflow学习笔记二----------变量
tensorflow里面的变量表示,需要使用特定的语法进行.如果想构造一个行(列)向量,需要调用Variable函数进行.对两个变量进行操作,也要调用相应的函数. import tensorflow ...
- Typescript 学习笔记二:数据类型
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- Mysql学习笔记(一)数据类型
原文:Mysql学习笔记(一)数据类型 学习内容: Mysql基本数据类型. 1.数字类型.. i.整型 Mysql数据类型 含义(有符号) tinyint(m ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
随机推荐
- 《SQL与数据库基础》20. 主从复制
目录 主从复制 原理 搭建 主库配置 从库配置 测试 本文以 MySQL 为例 主从复制 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执 ...
- 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' ...
- FFmpeg中的常用结构体分析
一.前言 在学习使用FFmpeg进行编解码时,我们有必要先去熟悉FFmpeg中的常用结构体,只有对它们的含义和用途有深刻的了解,我们才能为后面的学习打下坚实的基础.所以,这篇文章将会介绍这些常用的结构 ...
- 万字+20张图剖析Spring启动时核心的12个步骤
大家好,我是三友~~ 今天来扒一扒Spring在启动过程中核心的12个步骤 之所以来写这篇文章,主要是来填坑的 之前在三万字盘点Spring 9大核心基础功能这篇文章的末尾中给自己挖了一个坑,提了一嘴 ...
- MD5&MD5盐值加密到BCryptPasswordEncoder
MD5&MD5盐值加密 Message Digest algorithm5,信息摘要算法: 压缩性:任意长度的数据,算出的MD5值长度都是固定的 容易计算:从原数据计算出MD5值很容易 抗修改 ...
- 使用MySQL存储过程提高数据库效率和可维护性
MySQL 存储过程是一种强大的数据库功能,它允许你在数据库中存储和执行一组SQL语句,类似于编程中的函数.存储过程可以大幅提高数据库的性能.安全性和可维护性.本文将详细介绍MySQL存储过程的使用. ...
- 2015-CS
2015-CS 数据库部分 create table [EMPLOYEE]( [EmpNo] varchar(10) not null primary key, [EmpName] varchar(1 ...
- Solution -「BZOJ 3779」重组病毒
Description Link. Given is a tree. Every node initially has a color which is different from others'. ...
- Go指针探秘:深入理解内存与安全性
Go指针为程序员提供了对内存的深入管理能力,同时确保了代码的安全性.本文深入探讨了Go指针的基础概念.操作.深层理解及其特性与限制.通过深入了解其设计哲学和应用,我们可以更好地利用Go的强大功能. 关 ...
- MapReduce和Spark读取HBase快照表
1.概述 随着大数据技术的不断发展,处理海量数据的需求变得愈发迫切.MapReduce作为一种分布式计算模型,为处理大规模数据提供了有效的解决方案.在这篇博客中,我们将探讨如何使用MapReduce框 ...