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中的数组特点 数组定义时无需指定数据类型 数组定义时可以无需指定数组 ...
随机推荐
- Effective Objective-C 2.0 — 第11条:理解 objc_msgSend 的作用
消息由接受者.选择子及参数构成.给某对象“发送消息” (invoke a message) 也就相当于在该对象上“调用方法”(call a method) 发给某对象的全部信息都要由“动态消息派发系统 ...
- yii2-按需加载并管理CSS样式/JS脚本
原文地址:https://segmentfault.com/a/1190000003742452
- redis使用watch完成秒杀抢购功能(转)
redis使用watch完成秒杀抢购功能: 使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表. 它的优点如下: 1. 首先选用内 ...
- Ubuntu14.04 LTS更新源
Ubuntu14.04 LTS更新源 不同的网络状况连接以下源的速度不同, 建议在添加前手动验证以下源的连接速度(ping下就行),选择最快的源可以节省大批下载时间. 首先备份源列表: sudo cp ...
- TCSQL实时列表缓存数据库帮助文档
[文章作者:张宴 本文版本:v1.1 最后修改:2010.09.03 转载请注明原文链接:http://blog.zyan.cc/tcsql/] 曾经有人提出,一般数据库缓存分为四种.第一种:单个对象 ...
- mysql SELECT FOR UPDATE语句使用示例
以MySQL 的InnoDB 为例,预设的Tansaction isolation level 为REPEATABLE READ,在SELECT 的读取锁定主要分为两种方式:SELECT ... LO ...
- iframe和frameset的使用
iframe是:inner frame的缩写, 必须指明src属性,不能直接在里面写内容, 否则不会显示. 可以载入html, *.图片文件, txt文件等等. html的属性中,表示长度高度的尺寸属 ...
- nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
修改nginx配置参数后,使用nginx -t检查配置. 提示successfull后就可以使用 nginx -s reload来重新加载配置 我配置的过程中遇到这样的问题,就是绑定了主机名后,重新加 ...
- shell学习之路:流程控制(if)
1.单分支if条件语句 if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 注意事项: 1.if语句使用fi结尾,和一般语言使用大括号结尾不同 2.[ ...
- sql事务和锁
摘自:http://www.cnblogs.com/lxconan/archive/2011/10/20/sql_transaction_n_locks_1.html 最近在项目中进行压力测试遇到了数 ...