
C/C++
JpyJpy321
这个作者很懒,什么都没留下…
展开
-
计算机里的正数和负数为什么用补码表示
结论: 计算机里正数、负数都用补码表示,方便正数和负数相加的计算; 同时,正数的原码、补码相同,因此都用补码表示也不会影响正数和正数相加的情况; 原因: 若用原码表示的话,16 + (-8) = -24,显然错误 00010000 + (10001000) = 1001100 若用补码表示的话,16 + (-8) = 8,正确 00010000 + (11111000) = 1(舍去)00001000 参考: http://www.ruanyifeng.com/blog/2009/08/twos_compl原创 2022-02-22 19:57:10 · 710 阅读 · 0 评论 -
函数栈帧
内存空间 内存空间主要被划分为五个部分,分别为栈、共享区、堆、数据段、代码段。 函数栈帧 在调用函数的过程中,在栈空间中开辟一段空间供函数使用,这段空间就是函数栈帧。 栈是向下伸展的,从高地址向低地址延伸; 每个函数的每次调用过程中,都有一个唯一的栈帧,用于变量的保存,现场的保护(指?); 要维护这个栈帧必须使用两个寄存器,ebp(栈底指针)和esp(栈顶指针); cpu如何知道当前运行到哪里呢?–寄存器存放着要运行的下一条指令; ...原创 2021-05-10 18:12:12 · 119 阅读 · 0 评论