随笔分类 -  计算机原理

摘要:题目: 二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字不在0和1之间,或者无法精确地用32位以内的二进制表示,则打印“ERROR”。 解答: 0.625:*2=1.25,把1拿走得到0.1;剩下0.25*2=0.5,没有1,得到0. 阅读全文
posted @ 2020-03-30 13:54 NeoZy 阅读(208) 评论(0) 推荐(0)
摘要:代码很简单,如下: int add(int a,int b) { return a + b; } int main() { int x = add(3, 7); return 0; } main函数第一行设置断点,调试并查看反汇编。(注意先push 7,再push3,这里可以很好地佐证函数参数是从右 阅读全文
posted @ 2020-03-21 16:02 NeoZy 阅读(817) 评论(0) 推荐(0)
摘要:首先要知道异或运算(xor)符号:⊕ 1和1、0和0异或等于0,01和10异或等于1 怎么算海明冗余码 假如数据码长度为k,再加上长度为r的校验码,r位的校验码可以表示2^ r种不同情况,那么我们要求2^ r大于k+r这样我们才可以表示任意出错的数据码位数。 考察数据码:1011 我们规定校验码放在 阅读全文
posted @ 2019-05-03 16:56 NeoZy 阅读(553) 评论(0) 推荐(0)
摘要:已知x补码求-x的补码 方法:将x补码各位(符号位也算)全部取反再加1 例子: 整数: +6:补码00000110 -6的补码: 先取反:11111001,再加1,等于11111010 -6导+6略 小数: +0.75:补码0.11 -0.75:1.01 上述过程是可逆的,正负互转都可以 已知x补码 阅读全文
posted @ 2019-03-26 15:24 NeoZy 阅读(1508) 评论(0) 推荐(0)