位址匯流排和定址能力的公式變成了C 程式

2021-07-02 18:06:46 字數 1245 閱讀 3489

看王爽組合語言的第一天,在監測點1.1的第一題難住了。然後網上找了一下公式為2的位址匯流排次方等於定址能力的位元組,那位址匯流排總是要用對數算的嘍。由於高中數學知識早就忘了,然後我看了第五題,是反過來算的。於是我在想這麼算真麻煩,能否用c語言編乙個能算這個公式的程式,能夠輸入位址匯流排就自動計算定址能力,輸入定址能力能自動計算位址匯流排。於是我從第一題下手,首先輸入8k,要出來13。

2的8*1024的對數。這個對數該怎麼算,就算用log底數是e。於是我上網查了一下公式log2(8*1024)可以用log(8*1024)/log(2)表示,於是出來了第乙個簡單的程式

#include#include#includeusing std::endl;

using std::cout;

using std::cin;

int main()

speed_byte=count;

} else

int sup(int n,char p)

cpu(char* s):speed(s),n(0),p(0){}

cpu(int n,char p):speed(0),n(n),p(p){}

void write()

else

}void print()

speed_byte=count;

}else

double sup(int n,char p)

{ double speed;

double speed_byte; //稍作優化,由於定址能力有可能不是整數(雖然檢測1.1的都是整數。。。)

speed_byte=pow(2,n);

switch(p)

{ case 'b':case 'b':speed=speed_byte;break;

case 'k':case 'k':speed=speed_byte/1024;break;

case 'm':case 'm':speed=speed_byte/1024/1024;break;

case 'g':case 'g':speed=speed_byte/1024/1024/1024;break;

case 't':case 't':speed=speed_byte/1024/1024/1024/1024;break;

default:cout<

程式寫完了!好吧,我承認我是世界上最羅里吧嗦的人。這個程式肯定有很多缺陷,但是至少可以幫助我做這些題目了。

組合語言 關於位址匯流排 CPU定址的分析

8086 8088微處理器的資料匯流排為16位 位址匯流排位20位。處理器內部和位址有關的暫存器可以處理的資料為16位的二進位制,位址匯流排20位也可以理解為有20條線,當處理資料時每一條線上分擔乙個位元位。這也就是為什麼會有段基址 偏移位址 實體地址這一說。段基址和偏移位址都是16位,實體地址位2...

位址匯流排,字長,記憶體容量,定址範圍 之間的計算

處理機字長是指處理機能同時處理 或運算 的位數,即同時處理多少位 bit 資料。比如intel pentium 4處理器字長為32位,它能同時處理32位的資料,也即它的資料匯流排為32位。以前的處理器比如8086,則為16位處理器,現在新興的64位處理器,它的資料吞吐能力更強,即能同時對64位資料進...

關於位址匯流排,字長,記憶體容量,定址範圍的計算

在軟考學習中我們經常遇到計算位址匯流排 記憶體等方面的題,這也是我們大家經常混亂的知識,下面就讓我們來共同學習一下 處理機字長是指處理機能同時處理 或運算 的位數,即同時處理多少位 bit 資料。處理器的字長越大,說明它的運算能力越強。比如我們的膝上型電腦,現在一般都是64位的電腦,這也就是說我們的...