以前学java的时候总是对一些基本单位概念模糊、并且不知道怎么去换算,这次通过学习C++来补充下这方面的知识:
C++的基本整型分别是:char、short、int、long和C++1新增的long long,其中每种类型都有符号
版本和无符号版本,所以总共有10种类型,下面就集体介绍下这些类型,由于char类型有点特殊(它最常用来表示字符,而不是数字),所以先介绍其它整型。
计算机
内存是由一些叫做位的(bit)的单元组成,C++的short、int、long和long long类型通过是用不同数目的位来存储值的,一般short是16位,int是32位,但是C++提供了一种很灵活的标准,它确保了最少长度,如下所示:
[short至少16位]
[int至少与short一样长]
[long至少32位,且至少与int一样长]
[long long至少64位,且与long一样长]
其它换算单位:
一个bit(字节)单位byte有8位内存单元,也就是由8位2进制数组成:2*2*2*2*2*2*2*2,8位单元可以表示0-255或者-128到127。每增加一位组合数会加倍。这意味着把16单元可以设置成256*256个不同的值。字节是描述计算机内存量的度量的单位,1KB=1024字节、1MB=1024KB。这里我们可以简单的换算下,一个汉字占2个字节,那么1KB就可以容纳516个汉字,1MB=516*1024个汉字。