整数与浮点数在内存中的存储

一.整形的存储

整形家族

1.char
unsigned char
signed char

2.short
unsigned short
signed short

3.int
unsigned int
signed int

4.long
unsigned long
signed long

原码和反码与补码

在计算机中整数是有三种二进制表示方法的即原码、反码、补码。
这三种表示方式的二进制码都是由符号位与数值位组成
符号位为0代表正数,符号位为1代表负数

在这里插入图片描述

正整数的原码、反码、补码相同与之相反的负整数的原码、反码、补码都是有所差异的
以32位环境下的int为例

如int a=1,1是正整数则它的原码、反码、补码相同
原码:00000000 00000000 00000000 00000001
反码:00000000 00000000 00000000 00000001
补码:00000000 00000000 00000000 00000001

当负数的符号位不变其余按位取反时得到的是它的反码
当反码加一时得到的是它的补码

如int a = -1,1是负整数则它的原码、反码、补码是
原码:10000000 00000000 00000000 00000001
符号位不变其余按位取反得到反码
反码:111111111 111111111 111111111 111111110
反码加一得到补码
补码:11111111 11111111 11111111 11111111

当想把负数的补码转化成原码时只需要用补码-1得到反码,反码在符号位不变的同时按位取反就可以得到原码

补码的作用

整形数据储存时为什么要转
  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值