c++数据类型

数据类型 写法
布尔型 bool
字符型 char   wchar_t
整数型 int  short  long   longlong
浮点型 double  float
void 型 不占内存
常量  

 

整数型:有符号、无符号

 

 

有符号最大的整数:

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

有符号最大负数是:-1

最小是 :

无符号略

 

 

补充:

在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位

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。下个博客我会公布,亲期待哦。。。

我叫芥末小弟,我做我自己的博客。有问题欢迎投递:[email protected]  email

我的qq:1258601435   加我请备注

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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。