文档章节

c++数据类型

芥末小弟
 芥末小弟
发布于 2017/03/01 09:54
字数 797
阅读 5
收藏 0
数据类型 写法
布尔型 bool
字符型 char   wchar_t
整数型 int  short  long   longlong
浮点型 double  float
void 型 不占内存
常量  

20150423214903

 

整数型:有符号、无符号

 

QQ截图20150423223257

 

有符号最大的整数:

QQ截图20150423223257

2147483647=    16进制  7FFFFFFF     首位0  表示正  首位1表示负数

有符号最大负数是:-1

最小是 :

QQ截图20150423223257

无符号略

 

 

补充:

在solution 中我们的项目会有如下两种方式#include  相对路径

#include "stdafx.h" //从本地目录开始查找,如果本地目录查找不到,在到系统目录查找。
#include <iostream> //从系统目录查找,如果系统目录查找不到,在到本地目录查找。

本地目录:及时solution位置

系统目录:是vs的安装目录

 

demo:

   1: 
   2: #include "stdafx.h" //先从本地找,本地找不到去系统找
   3: #include <iostream> //现在系统找(vs) ,如果在系统找不到就去到本地找
   4: 
   5: int _tmain(int argc, _TCHAR* argv[])
   6: {
   7:     using std::cout;
   8:     using std::cin;
   9:     using std::endl;
  10:     int number = 0x7FFFFFFF;
  11:     cout << "number:" << number << endl;
  12:     unsigned int unnumber = -2;//-1  4294967295   无符号的     
  13:                                //-2 4294967294    无符号-2 的2进制  
  14:     cout << unnumber << endl;
  15:     system("pause");
  16:     return 0;
  17: }
  18: 

 

 

 

具体的2进制转换为10进制

例如 2进制的0000 0000 0000 0000 0000 0000 0000 0001

    =》 1*2^0 +0*2^1+……….0*2^31=1

 

浮点型

float  单精度

4byte    可以表示小数点后7位

QQ截图20150423223257

12.25

12=1100

0.25:

0.25*2=0.5   0

0.5*2=1        1

那么12.25  的float   1100.01

 

对于存储我们要 变为  1.10001    也就是小数点向前移动3位   这个时候将7位存储为   3位(3)  +(8进制最大)127=129(得到10进制 )   这个要转换为2进制

1000001

那么这个就是

?1000001 10001…..

double 双精度

8byte =64bit

第一位是符号位, 15位有效。

 

以后要用double   ,为什么有float 

因为以前 的float 最快,以前是 32位的。

现在128位。计算double的快。

demo:

   1: // UnsignedSingedDemo.cpp : 定义控制台应用程序的入口点。
   2: //
   3: 
   4: #include "stdafx.h"
   5: #include <iostream>
   6: 
   7: int _tmain(int argc, _TCHAR* argv[])
   8: {
   9:     using std::cout;
  10:     using std::cin;
  11:     using std::endl;
  12:     int number = 0x7FFFFFFF;
  13:     cout << "number:" << number << endl;
  14:     unsigned int unnumber = -2;//-1  4294967295
  15:     //-2 4294967294
  16:     cout << unnumber << endl;
  17: 
  18:     float fnumber = 1.12345678901234567890;  //加f强转   这里加不加都可以
  19:     cout << "fnumber"<<fnumber << endl;//7位
  20:     double dnumber = 1.12345678901234567890;
  21:     cout << "dnumber" << dnumber << endl;
  22:     system("pause");
  23:     return 0;
  24: }
  25: 

 

字符型:

1byte

char  :0—255   0000 0000   8位    

利用assii 表示字符 来进行转换

 

wchar_t

4byte

根据unicode  进行编码

包含了ascii表     多国语言

0—65535

 

布尔型:

1个字节  8bit  

值只能是0或1

1==true

0==false

可以用其他的任何值相转换    这就要求用8位

 

 

demo:  

1\输入成绩,告诉我们等级

自己定A  B   C 区间

2\输入一个班级的成绩,也可以不输入,直接用数组表示  20人

输出90分以上的百分比

输出80--90的百分比

上述的两道demo。下个博客我会公布,亲期待哦。。。

我叫芥末小弟,我做我自己的博客。有问题欢迎投递:jiemoxiaodi@outlook.com  email

我的qq:1258601435   加我请备注

谢谢,转载请注明出处。Thanks….

© 著作权归作者所有

共有 人打赏支持
芥末小弟
粉丝 0
博文 202
码字总数 120715
作品 0
昌平
4-C++远征之起航篇-学习笔记

c++教程起航篇 我们会讲C++那些事,C++与C语言的关系。 C++诞生于贝尔实验室。 C++之父: 本贾尼·斯特劳斯特卢普 C++社区排行榜 最新排行,c++排名第三,Python排名第四 C++语言的应用领域:...

天涯明月笙
07/20
0
0
大神有话说之c++,还在迷茫的朋友可以来看一下

C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Window...

悟空_b201
05/30
0
0
C语言基础教程之typedef

C语言 typedef C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字。下面的实例为单字节数字定义了一个术语 BYTE: typedef unsigned char BYTE; 在这个类型定义之后,标识符...

这个人很懒什么都没留下
08/14
0
0
C语言编程学习数据类型——基本类型

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
05/25
0
0
CPP strings 与标准模板库

Leetcode 838 push dominos 解体思路 STL标准模板库 提供了一组表示容器、迭代器、函数对象和算法的模板。 Alex Stepanov & Meng Lee 一起开发了STL, 1994年第一版发布。STL不是面向对象的编...

Fayder
07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取多个集合列表的笛卡尔积

获取多个集合笛卡尔积 电商中典型业务场景:商品搜索 单属性属性值之间为并查询 不同属性的属性值之间查询为与查询 import java.util.ArrayList;import java.util.List;/** * Created w...

键走偏锋
13分钟前
0
0
echarts 迁移地图 控制鼠标缩放大小比例

在网上找了好久没有找到解决方式,还是重新看了一下文档,终于找到的解决方案, zoom:1, //默认显示级别 scaleLimit:{min:1,max:3}, // 缩放级别 echarts 文档-配置项链接 http://echarts.b...

心驰
16分钟前
0
0
Boot2Docker ISO is out-of-date,

Boot2Docker ISO is out-of-date, downloading the latest release. 使用docker-machine时无法更新Boot2Docker ISO导致创建vm machine失败 解决方法:关闭网络,创建好之后再开启...

writeademo
24分钟前
0
0
在 Tomcat 中设置 Tapestry 框架的 html 热加载

如果开发中使用到了 Tapestry 这个框架,如果事先没有设置过的话,开发的时候 html 是不会热加载的,也就是说修改了 html 文件,不能刷新浏览器后立马看到修改完的效果,必须先重新启动应用服...

LeoXu
46分钟前
0
0
【微服务】开启巨石应用到微服务的探索

背景 在过去的一年时间里,我一直在从事一件事情,将现有的单体应用(巨石应用)向微服务改造。 接下来,将持续整理一些在微服务路上的学习与成长。 为什么要做微服务 单体应用,开发、部署简...

艳沐石
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部