计算机组成原理
文章平均质量分 69
ghscarecrow
这个作者很懒,什么都没留下…
展开
-
malloc底层实现及原理总结
总结当开辟的空间小于128KB时,会调用brk()函数,其主要时移动指针_edata(此时的_edata指的是Linux地址空间中堆段的末尾地址)当开辟的空间大于128KB时,调用mmap()在虚拟地址空间中(堆和栈的中间,称为“文件映射区域”的地方)找一块空间来开辟具体内容当一个进程发生缺页中断的时候,进程会陷入核心态,执行以下操作检查要访问的虚拟地址是否合法查找/分配一个物理页填充物理页内容(读取硬盘,或者直接置0,否则什么都不做)建立映射关系(虚拟地址到物理地址的映射关系)继续原创 2022-04-13 20:40:17 · 390 阅读 · 0 评论 -
位运算如何实现加减乘除
关注二进制的加法,我们容易发现这样的一个规律:(1)位运算异或与求和运算结果一致异或逻辑运算:1^1=0,1^0=1,0^1=1,0^0=0求和算术运算:1+1=0,1+0=1,0+1=1,0+0=0(2)位运算与逻辑运算与求“进位”的结果一致。与逻辑运算:1&1=1,1&0=0,0&1=0,0&0=0求进位运算:1+1=1,1+0=0,0+1=0,0+0=01.位...原创 2018-04-14 21:15:41 · 1580 阅读 · 0 评论 -
计算机中的位运算总结
程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。在C语言中,提供了相应的进行位运算的操作符,它们的作用如下:1、&:位逻辑与2、 |:位逻辑或3、^:位逻辑异或4、~:位逻辑反5、>>:右移6、<<:左移位运算是对字节或字中的实际位进行检测、设置或者移位,它只适用于字符型和整数型变量以及它们的变体,对其他...原创 2018-04-12 16:06:44 · 5149 阅读 · 2 评论