Android开发Float转Integer float转为int机制_c语言二进制数怎么表示


程序员的主要工作,就是编写程序,将现实生活中人们做的工作,由计算机来代替人们完成。完成C语言程序设计,首先要掌握C语言的数据类型。

现在我们通过逐步介绍概念,来帮助你掌握C语言的数据类型。

1、数据的概念

数据:是计算机对外部世界信息的表示,例如在计算机中,数字、图像、声音、视频,都是数据。

日常生活中,我们主要使用十进制。

十进制:每个数位用0,1,2,3,4,5,6,7,8,9十个符号中的一个表示,满十进一。

现代的计算机,都用二进制来表示各种数据;

二进制:每个数位用0,1两个符号中的一个表示,满二进一。

下面是二进制数和十进制数的对应关系:十进制数       二进制数0                    01                    12                    103                    114                    1005                    101

可以看到,二进制数,只用0和1两个符号来表示数。

比特:一个二进制位称为比特,即bit,简写为b。

由于比特单位实在太小,计算机用8个bit作为最常用的计量单位。

字节:8个比特称为一个字节,即byte,简写为B。


Android开发Float转Integer float转为int机制_c语言二进制数表示_02


2、十六进制

在计算机编程中,实际上使用十六进制,远比二进制多。

十六进制:每个数位用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个符号中的一个表示,满十六进一。

下面是十六进制数和十进制数的对应关系:十进制数       十六进制数0                    01                    12                    23                    34                    45                    56                    67                    78                    89                    910                  A11                  B12                  C13                  D14                  E15                  F16                  1017                  1118                  12

可以很容易推断出来:

(1)4个二进制位,相当于1个十六进制位。

(2)一个字节是8个二进制位,相当于2个十六进制位。

实际上,计算机根本不使用十六进制,十六进制是为了让程序员更方便地表示二进制数。因为两个十六进制位,就可以表示一个字节,而字节是计算机最常用的计量单位。


Android开发Float转Integer float转为int机制_c语言float转int_03


3、数据类型的概念

数据类型:我们可以理解为对数据的分类,也可以理解为计算机对数据的表示。

数据类型包含两个属性:

(1)如何存储,占用多大的存储空间;

(2)可以对数据类型进行怎样的操作。

例如,对于整数,我们可以进行加、减、乘、除运算操作,对于文本,我们可以进行连接、裁剪等操作。

C语言的数据类型可以分为基本数据类型和复合数据类型。

基本数据类型:计算机已经预先定义的最简单的数据类型。

复合数据类型:用简单数据类型,组合成的复杂数据类型。


Android开发Float转Integer float转为int机制_c语言long double_04


4、C语言的基本数据类型

C语言的基本数据类型有:

字符型(char):用一个字节表示,可以表示的范围为 -128~127;

短整型(short):64位操作系统中,一般用两个字节表示,表示范围为-2^15 ~ 2^15 - 1;

整型(int):64位操作系统中,一般用四个字节表示,表示范围为-2^31 ~ 2^31 - 1;

长整型(long):64位操作系统中,一般用八个字节表示,表示范围为-2^63 ~ 2^63 - 1。

单精度浮点型(float):64位操作系统中,一般用四个字节表示;

双精度浮点型(double):64位操作系统中,一般用八个字节表示;

指针:指针就是地址,64位操作系统中,一般用八个字节表示,表示一个指针。


Android开发Float转Integer float转为int机制_c语言float转int_05


5、C语言基本数据类型的长度不确定性

在上述7种C语言基本类型中,只有字符类型char的长度确定是1字节,其它6种基本类型的长度都是不确定的。

不同的环境中,例如:不同的硬件、不同的操作系统、或者不同的编译器,相同的类型可能长度不同。

例如:

(1)有的环境中,int类型的长度是2字节,有的环境中,int类型的长度是4字节;

(2)有的环境中,long类型的长度是4字节,有的环境中,long类型的长度是8字节;

(3)有的环境中,指针类型的长度是4字节,有的环境中,指针类型的长度是8字节;

但C语言有规定:

(1)int类型的长度不小于short类型的长度;

(2)long类型的长度不小于int类型的长度;

(3)double类型的长度不小于float类型的长度。