進製進製進製 轉換

2022-03-30 02:42:47 字數 1002 閱讀 3985

從剛學計算機就對進製轉換有著莫名的反感,2進製 8進製 10進製 16進製制各種轉換。

下面就說下邏輯位址轉換成實體地址的求法吧

首先,使用者輸入乙個16進製制的數字cin>>hex>>logic_add;   hex的意思是告訴計算機輸入的數是以16進製制方式輸入的

這個時候你要是輸出cout<

cout<

經過以上對比,原來計算機不管你是以什麼進製方式輸出的最後都以10進製形式顯示在你面前。

接著輸入你的頁面大小,如果是1kb=1024b=210

寫這個的時候我覺得我自己笨的要死,我在想邏輯位址是16進製制的  頁面大小是10進製的乙個數  他們之間相除用不用進製轉換之類的,我就一直試啊在此期間不停的讓他們進製統一!!!

一瞬間突然想明白了,在計算機裡你無論是以什麼方式什麼進製輸入的最後都變成2進製,不需要你自己轉換進製,最後的商列印出的是10進製(在計算機內部算出的結果是2進製,預設輸出的是10進製)。

哎,所以

cin>>hex>>logic_add;

int a=logic_add/page_size*1024;//頁號

int b=logic_add%page_size*1024;//頁內位址

這就完事了!!!!!!!!

之後你再去查頁表找到對應的物理塊號c

c*page_size+b;//實體地址,十進位制的

cout<

就是麼簡單,真是夠了,有些時候特別簡單的問題自己不認真思考真的是不能很好理解。

0a5c/2^10   商就是前6位  餘數就是後10位   

這麼理解:0a5c化成2進製一共16位0000 1010 0101 1100 除以2的10次方(2進製位100 0000 0000)就相當於十進位制100除以10小數點向前移動1位

那麼2^10  就是二進位制的小數點向前移動10位  (整數小數在末尾)

不知道我說明白沒~

歡迎指正~~~~

奮鬥中的我,十一就不回家了~哎~~~所以挺鬧心的,大家都走了,我也心不在焉。希望明天一切順利

進製轉換(任意進製轉換)

a進製轉b進製 思想 a進製轉十進位制 十進位制轉b進製 a進製轉十進位制 include include includeusing namespace std const int p 16 p代表 a進製 int main cout 十進位制轉b進製 include includeusing na...

進製轉換( R進製)

time limit 1 sec memory limit 128 mb 64bit io format lld submitted 3 accepted 1 submit status web board 我們可以用這樣的方式來表示乙個十進位制數 將每個阿拉伯數字乘以乙個以該數字所處位置的值 減1...

進製轉換 36進製

題目 進製轉換類 題目描述 將m進製的數x轉換為n進製的數輸出。輸入 第一行,乙個整數t,代表測試資料組數。接著t行,輸入32位二進位制數 輸出 輸出x的n進製表示的數。測試樣例 輸入 10 2 11輸出 注意 注意輸入時如有字母,則字母為大寫,輸出時如有字母,則字母為小寫。剛一看題,懵了,以前 聽...