c++数据类型和定义
我们都知道,刚开始学习数学的时候。乘法口诀。99乘法口诀。这个是大家都需要背的。背熟了这个,大家才能知道遇到算术题如何计算。这个99乘法口诀就是一种定义。
同样任何的语言都会有很多的定义。比如语文:各种各样的中文字,英语26个字母。等等。
在软件的开发中,我们全世界那么多开发人员,如何教大家写的都互相认识呢?这里肯定的定义一个标准。做过前端开发的都知道,我们有W3C标准。这样做的目的不仅仅是为了全球的规划统一,更重要的是,对于其他一个任意地方的学过相同开发语言的人来说,在看公司的之前人做的东西,是可以看懂的。这样能减少公司的单独培训新员工。当然,牛逼的公司都有自己的技术。我就不说了。
乱七八糟说了这么多。我们不难发现最终要的也是我们所有开发人员最需要知道的。最明确的目的,那就是做软件其实就是为了处理更多日常的生活的数据。
c++处理数据
在C++中我们做出来的软件也同样实在处理数据。但是在处理数据之前。我们需要了解这门语言的基本语法。
1、C++的变量的命名规则。
2、C++有哪些定义好了的数据类型
3、C++支持那些运算法则(有那些算数运算符)
4、C++各个数据类型之间的数据类型如何进行转化的?(1自动转换,2强制转换)
A、C++命名规则:
在名称中只能使用字母字符、数字、和下划线(_).
名称的第一个字符不能是数字
区分大小写字符
不能将关键字作为名称使用
B、数据类型
按照宽度底层的顺序排列分别是: char、short、int、long 和C++11新增的long long。其中每种类型都有符号版本和无符号版本。因此总共有10种类型可供选择。
整型:short、int、long和long long
补充:应为计算机的内存由一些叫做位(bit)的单元组成。C++中的short、int、long和long long类型通过使用不同数目的位来存储值,最多能够表示4种不同的整数宽度。
由于受操作系统的不同的限制。数据类型的长度就不一定了。但是C++提供了一种灵活的标准,它确保了最小长度(从C语言借鉴来的)。
short》=16bit int》=short long>=32bit&&long》=int long long >=64bit &&long>=long
位和字节
计算机的内存的最小的单位是bit。一个字节=8位 所以 1字节=2*2*2*2*2*2*2*2=256 所以8位单元可以表示0-255 或者-128-127
这里我们可以用一个cpp文件计算出,所有整型的byte和数值范围
#include <iostream>
#include <climits>//old system
int main(){
using namespace std;
int n_int = INT_MAX;
short n_short = SHRT_MAX;
long n_long = LONG_MAX;
long long n_llong = LLONG_MAX;
cout << "int byte" << sizeof(int) << endl;
cout << "short byte" << sizeof(short) << endl;
cout << "long byte" << sizeof(long) << endl;
cout << "long long byte" << sizeof(long long) << endl; cout << "******max values*******" << endl;
cout << "int : " << n_int<< endl;
cout << "short : " <<n_short<< endl;
cout << "long : " << n_long<< endl;
cout << "long long : " << n_llong<< endl; system("pause");
return ;
}
说明:
sizeof() 和头文件 limits
sizeof 运算符指出,在8为字节的系统中,int的长度为4个字节。对类型、或变量使用sizeof()可以使用
climit中常用的符号常量:
符号常量 | 表示 |
CHAR_BIT | char 的位数 |
CHAR_MAX | char 的最大值 |
CHAR_MIN | char 的最小值 |
SCHAR_MAX | signed char 的最大值 |
SCHAR_MIN | signed char 的最小值 |
UCHAR_MAX | unsigned char 的最大值 |
SHRT_MAX | short 的最大值 |
SHRT_MIN | short 的最小值 |
USHRT_MAX | unsigned short 的最大值 |
INT_MAX | int 的最大值 |
INT_MIN | int 的最小值 |
UNIT_MAX | unsigned int 的最大值 |
LONG_MAX | long 的最大值 |
LONG_MIN | long 的最小值 |
LONG_MAX | unsigned long 的最大值 |
c++数据类型和定义的更多相关文章
- AS3的数据类型和定义
AS3的数据类型分: 基元数据类型:Boolean int(整数) Number(长的浮点数) unit(很大的正整数) String 复杂数据类型:Arrary Date Error ...
- Java学习--基本数据类型的定义和运算2
例1 public class OperateDemo01{ public static void main(String args[]){ int num = 22 ; System.out.pri ...
- Java学习--基本数据类型的定义和运算
例1: public class DataDemo05{ public static void main(String args[]){ char ch1 = '\"' ; // 表示的是一 ...
- hive 学习系列一(数据类型的定义)
数字类型(Numeric Types) 整型 TINYINT(取值范围:-128 -- 127) SMALLINT(取值范围:-32,768 to 32,767) INT/INTEGER(取值范围: ...
- 【众秒之门 JavaScript与jQuery技术精粹 #BOOK#】第4章 数据类型及定义
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8& ...
- 在写WebApi判断用户权限时返回数据和接受支付结果 定义返回数据类型
using ADT.Core.Encrypt; using System; using System.Collections.Generic; using System.Linq; using Sys ...
- MS datatype define(微软数据类型定义)
这里根据MS文档整理了微软数据类型的定义, 参考文档:https://docs.microsoft.com/zh-cn/openspecs/windows_protocols/ms-dtyp/2463 ...
- CREATE TYPE - 定义一个新的数据类型
SYNOPSIS CREATE TYPE name AS ( attribute_name data_type [, ... ] ) CREATE TYPE name ( INPUT = input_ ...
- JS数组定义及详解
1.什么是数组 数组就是一组数据的集合 其表现形式就是内存中的一段连续的内存地址 数组名称其实就是连续内存地址的首地址 2.关于js中的数组特点 数组定义时无需指定数据类型 数组定义时可以无需指定数组 ...
随机推荐
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
- ASP.NET MVC 快速开发框架之 SqlSugar+SyntacticSugar+JQWidgetsSugar+jqwidgets(转)
jqwidgets.js: 是一个功能完整的框架,它具有专业的可触摸的jQuery插件.主题.输入验证.拖放插件.数据适配器,内置WAI-ARIA(无障碍网页应用)可访问性.国际化和MVVM模式支持. ...
- socket编程报异常java.io.EOFException
一个客户端连接服务器的小程序,服务器端可以正常读取客户端发来的数据 但是当客户端关闭时,服务端也关闭了,并且抛出如下的异常: java.io.EOFException at java.io.DataI ...
- jQuery.Callbacks 源码解读二
一.参数标记 /* * once: 确保回调列表仅只fire一次 * unique: 在执行add操作中,确保回调列表中不存在重复的回调 * stopOnFalse: 当执行回调返回值为false,则 ...
- Pattern Recognition and Machine Learning (preface translation)
前言 鉴于机器学习产生自计算机科学,模式识别却起源于工程学.然而,这些活动能被看做同一个领域的两个方面,并且他们同时在这过去的十年间经历了本质上的发展.特别是,当图像模型已经作为一个用来描述和应用概率 ...
- matplotlib basic and boxplot
============================================matplotlib 绘图基础========================================= ...
- HDOJ 1576 A/B
数论水题... A/B Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- hessian接口参数,子类与父类不能有同名字段解决方法
hessian默认是使用 com.caucho.hessian.io.JavaSerializer 序列化,同名字段子类字段值被赋值两次,最终用父类null值赋给了子类同名字段,解决方法就是 指定序列 ...
- Eclipse中集成Ant配置 (转)
目前的Eclipse都集成了ant,本文图示如何在eclipse下使用ant. 1.新建Java Project-新建Java文件HelloWorld.java HelloWorld.java pac ...
- 【C语言入门教程】7.5 枚举
在实际应用中,有的变量只有几种可能取值.如人的性别只有两种可能取值,星期只有七种可能取值.在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型.所谓枚举是指将变量的值一一列举出来,变量只限于列举出 ...