首页 > 代码库 > 计算机基础
计算机基础
(这是一个MIT同学整理的6.004 Computation Structure的课程的笔记,内容清晰易懂,看一遍可以简单了解计算机组成的基本内容,一共55页,计划全部译成中文。转载请注明出处。)
(笔记原文:?https://app.box.com/s/hj73i5cnek38kpy9yw22)
?
二进制(Binary)
再6.004课程中,主要有两种形式的二进制-有符号的和无符号的(有符号的也被称为补码(two’s complement))。我们选一个二进制数1100,并且找出同样大的十进制数:
1、二进制数中最右边的那位表示的十进制数是2 ^ 0,每向左移一位乘以二,向右移一位除以二
2、对于二进制数中的每个数字1,把这些位对应的2的幂值相加
3、无符号二进制数所有位的2的幂值都是正的
4、有符号二进制数中最左侧一位对应的2的幂值是负的
?
八进制和十六进制(Octal and Hexadecimal)
八进制数每一位代表3位二进制的数。一位二进制的数叫做1bit,所以八进制数的1位占3bit。
十六进制的数每一位占4bit。
有用的对应表:
?
有符号二进制数的加法(Signed Binary Addition)
二进制加法和普通的加法差不多,注意逢二进一。
大多数的机器内数的位数是固定的,这就会导致错误结果的出现。解决的办法我们会在后面提到。
?
有符号二进制数的减法(Signed Binary Subtraction)
如果我们用3减去5:
1、首先我们我们把3和5用二进制数表示
2、接着找到表示-5的办法:对所有位求补再加1
3、计算3与-5的和
注意!就像在加法中那样,我们会遇到数的位数的限制。所以你可能会遇到“对所有位求补再加1”得到的是不会该数的负值的情况。也可能发现结果没法在这个位数下被正确表示。
?
汉明距离(Hamming Distance)
计算机基础
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。