CPP学习之——整型概述(4.7)
一 概述
- 整型变量有好多种,最基本的是Int,一个字节有8位二进制数,int型数据有4个字节就是4*8为32位二进制数。
- 整型变量按照大小可以分为长整形和短整型
二 代码
1 | #include<iostream> |
三 代码说明
3.1 基本概念
- int 是最基本的整型变量,占据4个字节
- short int 简称short ,占据2个字节(16位)
- long int简称long,占据4个字节
- sizeof()的作用是告诉用户括号内的参数所占用的字节数
3.2 延伸
- long类型的数所占据的内存空间为4个字节
- 而int型的数占的内存空间在16位系统里是2个字节,在32位系统里是4个字节
- int类型的长度并不是固定的,它和系统平台有关系(当然现在基本上16位的系统都已经淘汰了)
- 所以long和int都是4个字节,没有什么区别
四 有符号数与无符号数
4.1 概念
- 有符号与无符号整型的区别在于有无符号可以表示负整数,而无符号只能表示正整数,同时由于有符号整型的最高位要用于表示符号位,因此取值范围要比无符号小一倍。
4.2 说明
无符号数:unsigned short(16位),最大数1111111111111111(65535),最小值000000000000000(0)
有符号数:short(16位),最高位位符号位,最大数15个1(32767),最小值-32768
负数的补码:
- 15个1翻转后变为15个0
- 在翻转后的末尾加1
-1的16位二进制表示是16位全部为1
4.3 各种类型的长度以及数值范围
数值类别 | 长度(bytes) | 数值范围 |
---|---|---|
int | 4(32bits) | -2147483648~2147483647(-2^31~(2^31-1)) |
short int | 2(16bits) | -32768~32767(-2^15~(2^15-1)) |
long int | 4(32bits) | -2147483648~2147483647 |
unsigned int | 4(32bits) | 0~4294967295(0~(2^32-1)) |
unsigned short int | 2(16bits) | 0~65535(0~(2^16-1)) |
unsigned long int | 4(32bits) | 0~4294967295(0~(2^32-1)) |
char | 1(8bits) | -128~127(-2^7~(2^7-1)) |
float | 4(32bits) | 1.2e-38~3.4e38 |
double | 864bits) | 2.2e-308~1.8e308 |
五 参考
- 原码、反码、补码之间的快速转换和简单运算