Ⅰ 設有10階對稱矩陣a,採用壓縮存儲方式(以行序為主序存儲,則a11的地址為1),則a85的地址為。
首先,壓縮存儲對於對稱矩陣來說,等於是存對角線的右上半加對角線的元素,或者是左下半加對角線的元素,其他位置不存儲。
這題是使用行優先存儲,即先存a11,再a12,再a22,再a13,再a23,再a33,以此類推,一直到a85,所以a85的位置計算為:(1+2+3+4+5+6+7)+5=33,選擇答案B。
對稱矩陣(Symmetric Matrices)是指元素以主對角線為對稱軸對應相等的矩陣。在線性代數中,對稱矩陣是一個方形矩陣,其轉置矩陣和自身相等。
(1)壓縮存儲的地址計算擴展閱讀
LAPACK是由美國國家科學基金等資助開發的著名公開軟體。LAPACK包含了求解科學與工程計算中最常見的數值線性代數問題,如求解線性方程組、線性最小二乘問題、特徵值問題和奇異值問題等。
LAPACK提供了豐富的工具函式,可用於諸如解多元線性方程式、線性系統方程組的最小平方解、計算特徵向量、用於計算矩陣QR分解的Householder轉換、以及奇異值分解等問題。 在NetLib亦提供了API經簡化的Fortran 95版本的LAPACK95。LAPACK以BSD授權的方法釋出。
Ⅱ 計算機內存儲器的容量為1KB,其最後一個位元組的地址是多少怎麼算的
十六進制的地址是03FF
二進制地址01111111111
十六進制換算十進制 安全展開 按十六進制格式位數乘以16的X位次方
十六進制換算二進制 除法 除以二得余數倒過來念
十六進制換算八進制 未知 我也不會算
八進制換算二進制 除法 除以二得余數倒過來念
八進制換算十進制 安全展開 按八進制格式位數乘以8的X位次方
八進制換算十六進制 未知 我也不會算
十進制換算二進制 除法 除以二得余數倒過來念
十進制換算八進制 除法 除以八得余數倒過來念
十進制換算十六進制 除法 除以十六得余數倒過來念
二進制換算十進制 安全展開 按二進制格式位數乘以二的X位次方
二進制換算八進制 從右到左,三位一組,不夠補0 ,3個數分別對應4 2 1的進行乘法然後象加
二進制換算十六進制 從右到左,四位一組,不夠補0 ,4個數分別對應8 4 2 1的進行乘法然後象加
安全展開的含義:
比如 二進制 「1101100」
從右起"0"到左尾部"1"止 倒過來排位:
1101100 ←二進制數
6543210 ←排位方法
例如二進制換算十進制的演算法:
1 * 26 + 1 * 25 + 0 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 0 * 20
↑ ↑
進制 後面的數是
次方,也就
是2的6次方
2的6次方等於2*2=4*2=8*2=16*2=32*2=64.....
等於:
64+32+0+8+4+0+0
=108
二進制換算八進制十六進制最簡單的方法:
如二進制的「10110111011」:
換八進制時,從右到左,三位一組,不夠補0,即成了:
010 110 111 011
然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
結果為:2673
而換十六進制時其實也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:
0101 1011 1011
運算為:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由於10為A,所以11即B)
1011 = 8+2+1 = 11(由於10為A,所以11即B)
結果為:5BB
二進制數轉換為十進制數
二進制數第0位的權值是2的0次方,第1位的權值是2的1次方……
所以,設有一個二進制數:0110 0100,轉換為10進制為:
下面是豎式:
0110 0100 換算成 十進制
第0位 0 * 20 = 0
第1位 0 * 21 = 0
第2位 1 * 22 = 4
第3位 0 * 23 = 0
第4位 0 * 24 = 0
第5位 1 * 25 = 32
第6位 1 * 26 = 64
第7位 0 * 27 = 0 +
---------------------------
100
用橫式計算為:
0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
0乘以多少都是0,所以我們也可以直接跳過值為0的位:
1 * 22 + 1 * 23 + 1 * 25 + 1 * 26 = 100
八進制數轉換為十進制數
八進制就是逢8進1。
八進制數採用 0~7這八數來表達一個數。
八進制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……
所以,設有一個八進制數:1507,轉換為十進制為:
用豎式表示:
1507換算成十進制。
第0位 7 * 80 = 7
第1位 0 * 81 = 0
第2位 5 * 82 = 320
第3位 1 * 83 = 512 +
--------------------------
839
同樣,我們也可以用橫式直接計算:
7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
結果是,八進制數 1507 轉換成十進制數為 839
十六進制數轉換成十進制數
2進制,用兩個阿拉伯數字:0、1;
8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;
10進制,用十個阿拉伯數字:0到9;
16進制,用十六個阿拉伯數字……等等,阿拉伯人或說是印度人,只發明了10個數字啊?
16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十六進制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第N(N從0開始)位上,如果是是數 X (X 大於等於0,並且X小於等於 15,即:F)表示的大小為 X * 16的N次方。
假設有一個十六進數 2AF5, 那麼如何換算成10進制呢?
用豎式計算:
2AF5換算成10進制:
第0位: 5 * 160 = 5
第1位: F * 161 = 240
第2位: A * 162 = 2560
第3位: 2 * 163 = 8192 +
-------------------------------------
10997
直接計算就是:
5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(別忘了,在上面的計算中,A表示10,而F表示15)
現在可以看出,所有進制換算成10進制,關鍵在於各自的權值不同。
假設有人問你,十進數 1234 為什麼是 一千二百三十四?你盡可以給他這么一個算式:
1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
進製表
10 8 16 2
0 0 0 0
1 1 1 1
2 2 2 10
3 3 3 11
4 4 4 100
5 5 5 101
6 6 6 110
7 7 7 111
8 10 8 1000
9 11 9 1001
10 12 A 1010
11 13 B 1011
12 14 C 1100
13 15 D 1101
14 16 E 1110
15 17 F 1111
16 20 10 10000
17 21 11 10001
18 22 12 10010
19 23 13 10011
20 24 14 10100
21 25 15 10101
22 26 16 10110
23 27 17 10111
24 30 18 11000
25 31 19 11001
26 32 1A 11010
27 33 1B 11011
28 34 1C 11100
29 35 1D 11101
30 36 1E 11110
31 37 1F 11111
32 40 20 100000
.
.
.
.
47 57 2F 101111
48 60 30 110000
Ⅲ 數據結構 對稱矩陣壓縮存儲題目,求詳細解答。
我畫了部分出來(圖右面的數字9請忽略),a45位置是藍色區域,由每一行紅點位置開始,按照綠色箭頭的方向開始數,第一行有10個,第二行9個,第三行8個,第四行7個,第五行來到藍色區域有2個。因為a00有基地址,所以a45的地址應該為0(這個是a00存儲地址)+(10+9+8+7+2-1)(注意要減1)X1=35所以答案應該是35才對吧。
Ⅳ 地址范圍的存儲空間怎麼計算
4FFFH-1000H+1/1024=16KB
Ⅳ 在微機中,若主存儲器的地址編號為0000H到7FFFH,則該存儲器容量為多少怎麼算的
一個地址可存儲1Byte,地址從0000H到7FFFH,那容量就是7FFFH+1 Byte;
轉換為10進制就是32767+1=32768Byte,1024Byte=1KB,所以也就是32KB。
Ⅵ 數據結構對稱矩陣的壓縮存儲求數據地址
對對稱陣進行壓縮存取是將對稱元素只存一個,並將數據存儲在一維數組中
首先來確定a[i][j]在b[k]中的i,j與k的關系
首先是判定i與j的關系,
如果是下三角存儲,則分一下兩種情況
1、如果i<j,
則交換i與j的值,將上三角的位衫梁清置值變換到下三角位置渣顫
2、如果i>=j,則不用執行操作直接走下面的流程
此時,i表示行坐標,j表示了坐標i之前有i行,即有1+2+...+i
=
(i+1)*i/2,在i標識的第i+1行有j+1個元素,由或前此可以確定k的值為(i+1)*i/2+j+1
=
k+1
由此可得k
=
(i+1)*i/2+j
由此可以的,a[3][6],
i=3,
j=6,
由於i<j,
交換得i=6,
j=3
由此
k
=
(6+1)*6/2+3
=
24
又由於&b[0]
=
1000
每個元素占兩個位元組,
則b[24]
=
1000+2*24
=
1048
由此便得到a[3][6]的地址為1048
Ⅶ 根據內存空間地址怎麼計算其存儲空間
這里的20KB是個概數,不是精確值; 首先進行十六進制減法:7000H-2001H=4FFFH 4FFFH=(20479)D,也就是十進制數的20479 注意,單位都是B,位元組 20479B=19.999KB=20KB 1KB=1024B
Ⅷ 對於n階對稱矩陣A,請寫出計算任一矩陣元素的壓縮存儲地址
算i<=j的情形
aij先算如果不壓縮的地址(i-1)n+j,再算壓縮後,壓縮後相當於少了一個下三角矩陣,大小是1+2+。。。+j-1=(j-1)j/2;所以地址是(i-1)n-(j-3)j/2;
i>j的情形轉換為i<j的地址,也就是算aji。