
计算机组成
QuoVadis_cx
冷酷无情的带学生
展开
-
浮点数运算误差原因分析
我们知道,单精度浮点数运算时会产生误差,但是误差具体是如何产生的?本篇博文将详细分析float浮点数在运算时产生误差的原因,我们首先通过一段C代码来进行浮点运算C代码#include <stdlib.h>#include <stdio.h>#include <math.h>#define MYDBGint main() { float ...原创 2019-03-31 09:36:48 · 4940 阅读 · 0 评论 -
通过汇编语言理解栈的过程调用2
接之前的博客,废话不多说,直接上代码分析C代码#include <stdio.h>using namespace std;void test() { printf("\n!!!执行了 test 函数!!!\n\n"); return;}int sumset(int x, int y, int i) { int a = x; int b = y; vo...原创 2019-03-25 21:09:35 · 947 阅读 · 0 评论 -
通过汇编语言理解栈的过程调用
栈一种受限制的线性表,栈底为高地址,栈顶为低地址。重要寄存器ebp:即MIPS中的fp,用来存储当前函数的基地址esp:即MIPS中的sp,用来存储函数调用栈的栈顶地址,在出栈和压栈时发生变化C代码#include <stdio.h>int Add(int x, int y) { int z = 0; z = x + y; return...原创 2019-03-25 00:07:53 · 1010 阅读 · 0 评论 -
半精度浮点数详解
IEEE754-2008包含一种“半精度”格式,只有16位宽。故它又被称之为binary16,这种类型的浮点数只适合用于存储那些对精度要求不高的数字,不适合用于进行计算。与单精度浮点数相比,它的优点是只需要一半的存储空间和带宽,但是缺点是精度较低。半精度的格式与单精度的格式类似,最左边的一位仍是符号位,指数有5位宽且以余-16(excess-16)的形式存储,尾数有10位宽,但具有隐含1。...原创 2019-04-22 23:57:57 · 25617 阅读 · 7 评论 -
用字节表示各种类型的数据
我们知道,在计算机中,最常见的存储单位就是字节,比如我们熟悉的int型数据,就是由4个字节构成的我们可以在C++中通过以下代码获取各种数据类型的字节数#include <iostream>using namespace std;int main(){ cout<<"int:"<<sizeof(int)<<endl; cout<...原创 2019-06-04 22:15:33 · 2027 阅读 · 0 评论