码迷,mamicode.com
首页 > 编程语言 > 详细

C语言基础之类型系统

时间:2018-07-03 11:40:46      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:无符号   order   style   用两个   基本类型   定义变量   符号   hit   数组   

一、类型系统介绍

    类型系统是每个编程语言都会有的基本概念,C语言的类型系统可以概括为基本类型和复合类型,基本类型又可以细分为整型数值类型和浮点数数值类型,不同类型所占用的内存长度不相同,下面先来介绍一下基本类型。

整型数值基本类型

1、char  占用一个字节

2、short 占用两个字节

3、int 目前基本都是4字节

4、long int (可以简写为 long) (32位系统是4字节,64位系统是8字节)

5、long long int ( 可以简写为long long) 占用8节字

浮点数数值基本类型 

1、float 占用4字节 (单精度)

2、double 占用8节字 (双精度浮点数)

复合类型包含如下几种

1、struct 结构体

2、union 联合体

3、enum 枚举 (长度等同 int )

4、数组

5、指针

二、有符号和无符号

    在定义变量时默认是有符号类型,需要定义无符号变量时只需要使用关键字 unsigned 来修饰即可,如 unsigned char、unsigned short、unsigned int等都是合法的变量,需要特别注意的是浮点数数值类型不能用关键字 unsigned 来修饰,如 unsigned float和unsigned double 都是不合法的,因为浮点数类型的存储方式和整型数值类型不同。


    有符号变量的二进制最高一位用来表示符号位,正数是0负数是1剩下的用来表示值 ,无符号变量的所有二进制位都用来表示值,整型数值变量的值在计算机内部使用补码来表示。

三、原码、反码和补码

    原码是值的二进制表示方式,举例说明

            char v = 1   原码=0000 0001   最高位是0

            char v = -1  原码 = 1000 0001  最高位是1

    正数的原码=反码=补码

    负数的反码等于原码除了符号位之外所有的位都取反,补码等于反码加一,举例说明

            char v = -1 原码 = 1000 0001, 反码 = 1111 1110, 补码 = 1111 1110 + 1 = 1111 1111


C语言基础之类型系统

标签:无符号   order   style   用两个   基本类型   定义变量   符号   hit   数组   

原文地址:http://blog.51cto.com/2648256/2135317

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!