计算机基础——编码

编码之道

进制

十进制转其他进制: 辗转相除法,用这个数字除以进制,再用商除以进制,一直到商为0结束,将每一步的余数倒着连起来
其他进制转十进制:加权相乘后相加,

二进制与八进制,一个八进制位相当于三个二进制位,从右往左三位一组,不够往前补零
二进制与十六进制,一个十六进制相当于四个二进制位,从右往左四位一取,不够往前补零
进制之间通过二进制转换相对方便

一个二进制位称作一个比特位 bit
每八个比特位为 一个字节 8bit =1byte
*
1024byte=1kb
*
1024kb=1Mb
*
1024Mb=1Gb
*
1024Gb=1Tb
*
1024Tb=1Pb

我们把一个二进制位的最左边取做最高位。一个字节取8位,如果需要表示负数,则最高位是符号位,不表示大小,表示正负性,1表示负数,0表示正数

原码,反码,补码:

最开始直接由其他进制计算得到的结果即为原码
反码:对反码符号位不变,其他位按位取反
补码:反码+1
以上规则针对负数,正数的原码,反码和补码是一样的。所有的数据在计算机中存储与计算是通过补码的形式进行的,如果计算的结果出现溢出,则溢出的位全部舍去。

计算机中实际只有加法
补码运算后得到的是补码
由一个负数的补码求原码:对这个数字再求一次补码
一个有符号位byte 表示范围:
最大 0111 1111 =127
最小可能是 1111 1111 因为在内存中存储的全是补码,所以取原码为1000 0001 =-1;
1111 1110 取原码为 1000 0010==-2;
发现符号位后面数字越小,表示的数字越小
那么1000 0000 取原码后得到0000 0000 =0
1000 0001 取原码后得到 1111 1111= -127;
为区分1000 0000与 0000 0000 ,所以规定 1000 0000是-128的补码,所以一个有符号字节表示的范围是[-128,127]
[-2(位数-1),2(位数-1)-1]

无符号 [0, 2位数-1]
3.14 表示为 314e-2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值