本篇博客中所提到的都是基于intel x86Cpu,开发环境是基于windows 8 + vs2013。本片博客需要读者自己明白十进制、十六进制、二进制之间的转换,博客中不会介绍转换过程,需要了解详细过程的情查找相关资料
PS:欢迎大家加入C语言交流群:70656511
首先我们简单的介绍一下计算机中数据存储的基础知识,具体内容在大学课程《计算机组成原理》中有详细的介绍。计算机中对数据的存储是有两种形式,一种是以定点数方式存储即C/C++中的char、short、int、long、longlong,另一种就是以浮点数的方式存储即C/C++中的float、double。定点数中char、short、int、long、longlong存储原理都是一样的,只是长度不同,所以我们选取int型详细介绍,浮点数中float、double原理也是一样的我们选取float详细介绍。其中,定点数和浮点数都是最高位表示符号位(0表示正数1表示负数)其余位表示数值,字节是倒叙存数的也就是说高字节在左边低字节在右边。下面分别有详细的介绍。
定点数比较简单,计算机中存储的是真实值,计算机采用4字节(32位)存储int变量,例如:int value = 1 ; 则value转化成二进制