基本类型与类型转换

1、short、int、long类型

short、int、long类型实际上都是带符号的类型,若要将其转换成无符号类型,那么直接在这些类型前面加上unsigned,带符号就是可以表示负数,0,正数,而无符号的只能表示正数。

类型 字宽 取值范围
unsigned short 2 0~65535
short 2 -32768~32767
signed short 2 -32768~32767
unsigned int 4 0~65535
int 4 -32768~32767
signed int 4 -32768~32767
unsigned long 4 0~4294967295
long 4 0~4294967295
signed long 4 -2147483648~2147483647

注意:1)在32位的计算机下

   2)如果将一个整数赋值给一个浮点类型,那么如果整数的值超过了浮点类型的容量上限,那么会出现精度缺失。

2、char、unsigned char、signed char 类型

字符串类型有三种,但是表现形式只有两种:带符号和不带符号。char类型的表现形式其实根据实际的编译器而不一样。

数据类型 字宽 取值范围
unsigned char 1 0~255
char 1 -127~128(根据不同编译器)
signed char 1 -127~128

3、bool类型

布尔类型有两个值true和false,非0为真,0为假。将布尔类型赋值给非布尔类型,得到的结果:若真,则为1,若假,则为0;

注意:类型所能表示的取值范围决定了转换的过程。

4、切勿将带符号类型和无符号类型混用

表达式中既有无符号类型又有带符号类型,那么带符号类型会被自动转换成无符号类型。

原文地址:https://www.cnblogs.com/Dark-King/p/9330338.html