【C++ Primer】读书笔记_第二章

基本内置类型:C++的基本内置类型其实就是基本数据类型,包括
  1.算术类型。分为:
    1.1.整型。包括布尔类型、字符型和整型
    1.2.浮点型。包括单精度浮点型、双精度浮点型和扩展精度浮点型。float详解请看https://www.cnblogs.com/a-present/p/9128083.html
  2.空类型void。
  不同类型数据所占的比特数不同,在不同机器上也有所差别。C++标准规定了其尺寸的最小值,同时允许编译器赋予这些类型更大的尺寸,比特数不同,所能表示的数据范围不一样。
  C++标准规定:sizeof(long long)>=sizeof(long)>=sizeof(int)>=sizeof(short)>=16bits。通常,float占32位,double占64位,long double占96或128位。
  整型和浮点型可以划分为带符号的signed和无符号的unsigned,不写的时候表示signed。无符号类型只能表示大于等于0的值。字符型被分为:char、signed char和unsigned char。但是实际上只会表现出两种signed和unsigned,char会表现为这两种中的哪一种则由编译器决定,所以在算术表达式中不要使用char,容易在不同机器上出错。
  为什么signed char有符号位,为负数会怎么样?
  signed char的最高位表示符号位,当把值赋给int,long等数据类型时,就会得到负值,比如:
signed char a=0xa1;
printf("a=%d",a);

  就会得到a=-95

  字、字节解析:
  在C++语言中,一个字节要至少能容纳机器基本字符集中的字符,大多数机器的字节由8比特构成,也就是说大多数机器用8比特就能容纳机器基本字符集中的字符,所以一个char的的大小就是一个字节,也就是机器字节,也就是8bit。一个字节为一个内存块,可用一个数字表示的地址寻址到。
  而字是计算机进行数据存储和数据处理的运算的单位,其长度即机器字长=CPU位数=CPU中寄存器的位数=CPU能够进行一次并行处理的数据宽度(位数)=数据总线宽度。我们平常说的64位的处理器,指的就是字长为64位,即4个字节的CPU,而系统是32位还是64位跟CPU的位数没有关系。一个64位的字则需要8个字节组成,内存上也就是需要8个最小内存块。
 



 

    

 

posted @ 2018-06-03 10:08  A_Present  阅读(118)  评论(0编辑  收藏  举报