计算机底层到底是如何存储数字的?

本文详细介绍了计算机内部数字的存储方式,包括有符号数和无符号数的区分,机器数的原码、反码、补码和移码表示,以及定点数和浮点数的概念和特点。重点讨论了浮点数在IEEE 754标准下的表示形式,并提供了验证浮点数存储方式的Java代码示例。
摘要由CSDN通过智能技术生成

计算机对外信息展示方式有文字、图片、音频、视频等,但不论应用在什么地方,信息在机器内部的形式都是一致的,即均为0和1组成的各种编码。

一、有符号数和无符号数

在计算机中参与运算的数有两大类:无符号数和有符号数。

无符号数

计算机中的数均放在寄存器中,通常称寄存器的位数为机器字长。

所谓无符号数,即没有符号的数,在寄存器中的每一位均可用来存放数值。当存放有符号数时,则需留出位置存放符号。

因此,在机器字长相同时,无符号数与有符号数所对应的数值范围是不同的。

以机器字长为16位为例,无符号数的表示范围为 0~65535,而有符号数的表示范围为 -32768 ~ +32767(此数值对应补码表示)。

有符号数

对有符号数而言,符号的“正”、“负”机器是无法识别的,但由于“正”、“负”恰好是两种截然不同的状态,如果用“0“表示“正”,用“1”表示“负”,这样符号也被数字化了,并且规定将它放在有效数字的前面,即组成了有符号数。
例如,+1100 在机器中表示为 01100 ,-1100 在机器中表示为 1 1100 。

在Java语言中,如 int、float 等都是有符号数,故下文所讲都是在有符号数的范畴。

二、机器数与真值

把符号(如+、-)“数字化”的数称为机器数,而把带“+”或“-”符号的数称为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值