详述C语言整型、浮点型在内存中存储方式

C语言:整型及浮点型的存储方式
摘要由CSDN通过智能技术生成

整型

大家都知道,计算机存储数据采用的是二进制,C语言中,我们常常会涉及到三种不同的二进制表示方法:原码、反码和补码。在进入主题之前,我们先详细介绍这三种表示方法,并通过举例来帮助大家更好地理解这些概念以便后面的使用。

原码、反码、补码

首先,让我们来看一下原码是什么。原码是最常见的二进制表示方法,它直接将数值转换为二进制。例如,数字5的原码就是00000101,数字-5的原码就是10000101。我们可以注意到,负数的原码的最高位(第一位)为1,表示这是一个负数。

接下来,让我们来看一下反码是什么。反码是在原码的基础上进行转换得到的。正数的反码和原码相同,但是负数的反码是在原码的基础上,将每一位取反(即0变成1,1变成0)得到的。例如,数字5的反码就是00000101,数字-5的反码就是11111010。

最后,让我们来看一下补码是什么。补码也是在原码的基础上进行转换得到的。正数的补码和原码相同,但是负数的补码是在反码的基础上,将最后一位加1得到的。例如,数字5的补码就是00000101,数字-5的补码就是11111011。

现在,让我们来看一些例子,帮助大家更好地理解这些概念。

例1:计算数字5的原码、反码和补码。

数字5的原码:00000101数字5的反码:00000101数字5的补码:00000101

例2:计算数字-5的原码、反码和补码。

数字-5的原码:10000101数字-5的反码:11111010数字-5的补码:11111011

例3:计算数字-8的原码、反码和补码。

数字-8的原码:100001000数字-8的反码:11110111数字-8的补码:11111000

在不同的使用情况下规定的数据位数不同,在原码真实数据位不足时,往往采取在高位补0的方式,最高位依然为符号位。以32位数据为例。

例1:计算数字5的原码、反码和补码。

数字5的原码:0000 0000 0000 0000 0000 0000 0000 0101

数字5的反码:0000 0000 0000 0000 0000 0000 0000 0101

数字5的补码:0000 0000 0000 0000 0000 0000 0000 0101

例2:计算数字-5的原码、反码和补码。

数字-5的原码:1000 0000 0000 0000 0000 0000 0000 0101

数字-5的反码:1111 1111 1111 1111 1111 1111 1111 1010

数字-5的补码:1111 1111 1111 1111 1111 1111 1111 1011

例3:计算数字-8的原码、反码和补码。

数字-8的原码:1000 0000 0000 0000 0000 0000 0000 1000

数字-8的反码:1111 1111 1111 1111 1111 1111 1111 0111

数字-8的补码:1111 1111 1111 1111 1111 1111 1111 1000

希望这些例子能够帮助大家更好地理解原码、反码和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值