csp之进制转换和计算机基本

二进制

二进制是计算机用的一种计数法则,在这里2就是10。二进制只有0和1两个基本数字和三种运算。这种方式抗干扰,运算还简单。

那么进制转换用什么方法呢?

10转2用“8421”法就可以:看这个数是里面那几个数相加,有就是1,没有就是0。这个牵扯到二的n次方的问题,看他是用的二的几次方。八进制是看3位一组二进制,十六进制是4位一组二进制。

比如我们的7,转换成8位二进制是00000111,转8禁止就是三位一体:00  000  111,也就是八进制的007。十进制转换到r进制,比如二进制用的是短除2,看是余1还是整除,把余数从下往上穿起来。

那我们得出:十进制处以r,再把余数逆序排列就可以。那么有小数的呢?我们把他乘以r,然后一直取整数部分,整数部分是1,就用小数部分接着算,到小数部分是0结束,从上往下穿起来。别忘了加小数点!

总结一句:乘r取余,除r取整

我们也可以用2次方来做2进制:只需要看他乘了那几个2的次方,乘了就是1,反之是0。这个方法叫“位权法”。

源码,反码和补码

首先注意,我们要注意正负。

这些就是为了做减法而生。

源码:用最高为表示符号位,1是负数,0是正数。一个数字的源码就是它本身。正数的反码跟源码一样,负数则是所有位按位取反,除了符号位。但是反码计算还是解决不了所有的加法问题,于是诞生了补码。正数的补码还是源码,负数的补码是反码加1。补码等于无符号二进制运算。补码能够解决两个负数相加结果不对的问题。还有一种移码,是补码的符号位取反,用来简化浮点数的乘除,这里不涉及。

存储单位

字节(B),8位2进制

千字节(KB),1024B’

兆字节(MB),1024KB

吉字节(千兆字节,GB),1024MB

太字节(万亿字节,TB),1024GB

时间复杂度

O(1)常数

O(logN)对数

O(N*logN)线性对数

O(N^K)k次方(有几层循环就几次方)

空间复杂度

程序运行所占空间的大小就是空间复杂度,包括数据存储、输入数据和辅助变量三种空间。

空间复杂度只是一个估算,并没有准确值。而且只看整体,看整体的量级。注意一个特性:如果开数组,数组是几维的,空间复杂度就是N的几次方。(N*N这样的N维数组)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值