问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

从补码到IEEE 754:计算机如何存储整数和小数

创作时间:
2025-01-22 08:23:10
作者:
@小白创作中心

从补码到IEEE 754:计算机如何存储整数和小数

计算机中整数和小数的存储

一、整数

整数的存储较为简单,除第一位为符号位外,剩余所有位,存储该数的补码形式。

二、小数

计算机存储小数时,有两种不同的表示方式:定点数和浮点数;常用浮点数以IEEE 754标准为计算机内部处理浮点数的通用标准,常用的有常用的是单精度浮点型双精度浮点型

存储形式和整数不同,浮点数存储分为:符号位(S)、指数位(阶数位)(P)、尾数位(W)

表示方式:将小数转化为二进制的科学计数法表示

我们发现,如果以科学计数法表示二进制数时,基数R = 2,因此a只能表示一点几,即将二进制数以科学计数法的格式表示时,a的整数部分只能为1(1<= a < R)

存储(以4字节的float举例(单精度)):

举例:-2.5的单精度浮点数表示

结语

综上,计算机对整数和小数的存储是不一样的,整数以二进制补码的形式存储,小数多用浮点数表示,由符号位、指数位、尾数三部分组成;因此,在计算机中,不能混用,如:-2.5在计算机中的编码为1100 0000 0010 000 0 0000 0000 0000 0000,如果把它认为为整数的话:

既然都是0和1,计算机又是如何识别哪是表示整数?哪是表示小数的呢?

——计算机不知道所存储的数据类型,也无需知道,其存储的是0和1,但我们可以使用指令对0和1进行操作,如:浮点数指令和整数指令,对0和1进行不同的操作。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号