【计算机进制换算以及原码、反码、补码等概念】

1、计算机进制介绍

对于整数,有四种表示方式:

  1. 二进制 0-1,满2进1
  2. 十进制 0-9,满10进1
  3. 八进制 0-7 ,满8进1 ,以数字0开头
  4. 十六进制 0-9以及A-F,满16进1(A代表10 以此类推) 以0x或者0X开头

2、进制之间的转化

2.1、其他进制转十进制

2.1.1、二进制转十进制

从最低位开始(右边),将每个位上的数提取处理,乘以2的(位数减1)次方,然后求和

eg.将1011转为10进制

1011 = 1 * 2 ^0 + 1 * 2 ^1 + 0 * 2 ^2 + 1 * 2 ^3= 11 (^代表平方)

2.1.2、八进制转十进制

从最低位开始(右边),将每个位上的数提取处理,乘以8的(位数减1)次方,然后求和

eg.将0123转为10进制

0123 = 3 * 8^0 + 2 * 8^1 + 1 * 8^2 = 83 (^代表平方)

2.1.3、十六进制转十进制

从最低位开始(右边),将每个位上的数提取处理,乘以16的(位数减1)次方,然后求和

eg.将0x34A转为10进制

0x34A = 10 * 16^0 + 4 * 16^1 + 3 * 16 ^2 = 842 (^代表平方)

2.2、十进制转其他进制

2.2.1、十进制转二进制

将该数不停除以2,直到商为0为止,然后将每步的余数倒过来,就是对应的二进制

eg.将56转为二进制

56 = 111000
在这里插入图片描述

2.2.2、十进制转八进制

将该数不停除以8,直到商为0为止,然后将每步的余数倒过来,就是对应的八进制

eg.将156转为八进制

156 = 0234

2.2.3、十进制转十六进制

将该数不停除以16,直到商为0为止,然后将每步的余数倒过来,就是对应的十六进制

eg.将356转为十六进制

356 = 0x164

2.3、二进制转其他进制

2.3.1、二进制转八进制

将二进制数位每三位一组(从低位开始组合 - 右边),转成对应八进制数即可

eg.将二进制 11010101 转成八进制

11010101 = 【11】【010 】【011】= 0325

2.3.2、二进制转十六进制

将二进制数位每四位一组(从低位开始组合 - 右边),转成对应十六进制数即可

eg.将二进制 11010101 转成十六进制

11010101 = 【1101】【0101】= 0xD5

2.4、其他进制转二进制

2.4.1、八进制转二进制

将八进制的每1位,转成对应的一个3位的二进制数即可

eg.请将0237转成二进制

0237 = 【10】【011】【111】= 10011111

2.4.2、十六进制转二进制

将十六进制的每1位,转成对应的一个4位的二进制数即可

eg.请将0x237转成二进制

0x237 = 【0010】【0011】【0111】= 1000110111

3、反码,原码,补码

  1. 二进制的最高位是符号位: 0表示正数,1表示负数
  • 1===》 [0000 0001] -1===>[1000 0001]
  1. 正数的原码,反码,补码都一样

  2. 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)

  • 1===>原码[0000 0001] 反码 [0000 0001]补码[0000 0001]
  • -1===>原码[1000 0001] 反码[1111 1110] 补码[1111 1111]
  1. 负数的补码=它的反码+1

  2. 0的反码,补码都是0

  3. 在计算机运算的时候,都是以补码的方式来运算的

  • 1+1
  • 1-1 =1+(-1)
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值