原码、反码、补码之来龙去脉

本文介绍了原码、反码和补码的概念,探讨了为什么计算机使用补码表示负数。通过16进制和二进制的转换,解释了数据在内存中的存储方式,以及如何处理溢出问题。文章通过实例展示了正数、负数和零在计算机中的二进制表示,特别是如何通过补码实现加减运算。
摘要由CSDN通过智能技术生成

1. 为什么偏向用十六进制?

    

    16进制数逢1612进制逢212^4=16

    16进制进一位,恰好对应二进制进四位(十六进制10 = 二进制1 0000, 十六进制100 = 二进制1 0000 0000)

    从而,16进制数(: 2A9),可以按位依次转成二进制: 2(0010)A(1010)9(1001)。每一位对应二进制四位。

    即: 2A9 = 0010 1010 1001

    故,当看到十六进制数 fffffff3 时,就能立即方便地反应出其二进制的数值了。

    后面会在数值前标明进制说明:

    二进制: (binary) 0000 0011

    八进制: (octal) 325

    十进制: (decimal) 289

    十六进制: (hex) ffff fff3

2. 数据在内存中存储的方式

    

    int i = 3;  

    以 16 位系统为例,在内存中占两个字节,结构如下: (binary) 0000 0000 0000 0011

    为了方便,我们设系统为8位的,int 只占一个字节。即 int i = 3 的存储结构为: (binary) 0000 0011

3. 溢出与""的概念

 

    从上可以看出,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值