进制及其转换

常用的进制

  • 生活常用的进制是十进制,十进制的权重为:10^0、10^1、10^2...
  • 计算机底层采用的是二进制,二进制权重为:2^0、2^1、2^3、2^4...
    底层二进制使用最高位(最左边)的代表符号位,若该位是0则表示为正数,若该位是1表示为负数。书写二进制时习惯上从右向左没四位间隔一个空格。

进制表示

  • 二进制0b0B开头。
  • 八进制0开头。
  • 十六进制0x0X开头。

进制转换

  • 正十进制转二进制:除二取余法、拆分法(将数字拆分为若干个权重的和,有该权重写1,其它写0)。
45 使用拆分法转为二进制:
45 = 32 + 8 + 4 + 1 // 拆分为权重的和
	权重1=2^0为第一位
	权重4=2^2为第三位
	权重8=2^3为第四位
	权重32=2^5为第六位
结果:10 1101 // 有权重写1 无权重写0
  • 正二进制转十进制:加权法(二进制的每个数字乘以当前位的权重然后相加)。
10 1101 转为十进制:
1*2^6 + 0*2^5 + 1*2^4 + 1*2^3 + 0*2^2 + 1*2^0 = 45
  • 负十进制转二进制:对绝对值转换后,按位取反再加一。
-45 转为二进制:
32+8+4+1 
0010 1101 // 绝对值拆分法
1101 0010 // 取反
1101 0011 // 末尾加一 最终结果
  • 验证方法:正负二进制相加为0,高位溢出。
  • 负二进制转十进制:末尾减一,按位取反,然后转换为十进制后取反。
负的二进制数 1101 0011 转为十进制:
1101 0010  // 末尾减一
0010 1101  // 按位取反
32+8+4+1= 45 // 转为十进制
-45 // 取反

单字节能表示的整数范围

  • 在计算机中单个字节表示八位二进制位,其中最高位(最左边)代表符号位,使用0代表非负数,使用1代表负数。
  • 非负数表示范围:0000 0000 ~ 0111 1111 => 0 ~ 127 => 0 ~ 2^7-1
  • 负数表示范围:1000 0000 ~ 1111 1111 => -128 ~ -1 => -2^7 ~ -2^0
  • 单个字节表示的整数范围是:-2^7 ~ 2^7-1,也就是-128 ~ 127
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值