
计算机系统学习笔记
文章平均质量分 82
昵称什么的不存在
湖南大学普通学生,小菜鸡,什么也不会那种
展开
-
计算机系统小分支--gdb调试
GDB常用命令 运行 run(简写r): 运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。 continue(简写c):继续执行,到下一个断点处(或运行结束) next(简写n): 单步跟踪程序,当遇到函数调用时,直接调用,不进入此函数体; step(简写s):单步调试如果有函数调用,则进入函数;与命令n不同,n是不进入调用的函数的 until:运行程序直到退出循环体; / until+行号: 运行至某行 finish: 运行程序,直到当前函数完成返回,并打印函数返回时的堆栈地址原创 2022-03-22 13:10:05 · 137 阅读 · 0 评论 -
计算机系统学习笔记
逻辑右移和算数右移 逻辑右移:右移后左边添加0 算术右移:右移后添加的位与原数的符号位相同 C语言中,对于移位操作执行的是逻辑左移和算术右移 不过对于无符号类型,所有的移位操作都是逻辑的。 所以要相对一个有符号数执行逻辑右移,那么可以先将它强制类型转换为无符号类型。 如下 int mian() { int n = 0xfffffffe; int m = (unsigned int)n >> 1; printf("0x%x\n", m); } 这样右移有可能原创 2023-01-14 10:37:44 · 806 阅读 · 0 评论 -
《深入理解计算机系统》——浮点数强制转换小议
我们来讨论C语言关于浮点型强制转换的一个特性 比如 #include<stdio.h> void main() { int I = (1<<31)-1,II;//这个是有符数的最大值Tmax float f = 0; int a,b,c; a = (int)(float)I; b =(float)I; f = (float)I; c = (int)f; printf("%d,%d,%d\n", a, b, c); } 运行结果如何? 在(2)章里面我们主要是讨论的超原创 2022-03-13 19:47:25 · 1212 阅读 · 0 评论