原创 模擬處理機調度

一、先來先服務 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <new> #include <string> #include <cstdio> using n

原创 定點小數原碼一位乘(C++實現)

這學期在學計組,這裏將用C++實現各種運算方法,其實那些算法應該是用電路硬件實現的,用高級語言來描述一遍也挺有意義。 說明:輸入輸出的小數均以機器數表示,數值位爲4位。 #define _CRT_SECURE_NO_WARNINGS #i

原创 重載下標運算符[]

看了bitset的源碼,發現要重載下標運算符[]內容還挺多的,作右值時相對簡單,只用來測試。作左值時就比較麻煩,因爲要修改它的值。   1、作右值 舉個例子: const bitset<10> b; bool tag; tag = b.t

原创 【庫函數源碼剖析系列】(6) strchr

strchr: // strchr #include <stdio.h> char *Strchr(const char *s, int c) { for (; *s != (char)c; ++s) { if (*s == '\

原创 模擬虛存管理

  1、頁表的數據結構 頁號 標誌 主存塊號 修改位 外存地址 struct PageItem { unsigned pageID; // 作業的頁號 unsign

原创 【庫函數源碼剖析系列】(4) strlen

strlen: // strlen #include <stdio.h> size_t Strlen(const char *s) { const char *p = NULL; for (p = s; *p != '\0';

原创 CG實驗4th:消隱

消隱採用的是深度排序算法(油畫家算法) 運行結果: 源程序: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <queue> #include "graphi

原创 初嘗“元編程”(C++描述)

先看兩個計算斐波拉契數的程序: (1)運行時 #include <iostream> using namespace std; const int N = 45; int Fib(unsigned n) { if (0 == n)

原创 定點小數補碼一位乘(Booth比較法)

程序: // 定點小數補碼一位乘(Booth比較法) // http://blog.csdn.net/justme0 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #includ

原创 考研結束了

       考研結束了,下一屆就輪到我們了,今天還跟同學聊了考研的事,我對考研政治不感冒,爲什麼要叫我們學政治?爲什麼要把這種信仰強加給我們?而那些申請國外研究生的同學就不用學了,憑什麼?這真的很矛盾。我以後想搞技術。看了王道論壇上大家

原创 定點小數補碼一位乘(校正法)

程序: // 定點小數補碼一位乘(校正法) // http://blog.csdn.net/justme0 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <bi

原创 數組傳參的三種方法:泛型;壓扁數組;數組結構

數組傳參很常見,在 C/C++ 中傳遞數組時,數組名會退化爲指針,所以一般都要給出首地址和長度。這是有缺陷的,當我們在寫函數時不知道各維大小時該怎麼辦呢? 下面用矩陣乘法作爲例子,給出三種實現方法:GP, flattening the a

原创 【庫函數源碼剖析系列】(5) strcat

strcat: // strcat #include <stdio.h> #include <string.h> char *Strcat(char *dest, const char *src) { char *tmp = des

原创 內存的連續分配與回收算法

幾點說明: 部分代碼參考《數據結構》教材。 1、採用空閒分區鏈鏈接空閒分區,用循環首次適應算法分配內存。   2、假定內存塊的大小、地址以“字”爲單位計。空閒區、作業區邊界採用標識。 “字”的數據結構如下: leftLink t

原创 auto_ptr類的源碼註解

源碼及註釋如下,這比記憶語法好多了!個人認爲,auto_ptr類設計地不行,比如都不能作爲參數傳遞(傳遞後實參就沒用了),失去了C指針的經典優勢! // auto_ptr類的簡化版,刪除了有關auto_ptr_ref及auto_ptr<_