Cálculo do Endereço de Elementos para Matrizes
Armazenadas por Coluna
Michel Alves dos Santos

∗

Março de 2010

Figura 1:...
Upcoming SlideShare
Loading in …5
×

Calculation of Address Elements for Matrices Stored by Column.

221 views

Published on

Calculation of address elements for matrices stored by column. This document describes an algorithm for calculating the addresses of elements stored by column assuming a base address, starting from the idea of calculating the address elements for matrices stored by row. At the end we present a formulation for direct return of the element.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
221
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Calculation of Address Elements for Matrices Stored by Column.

  1. 1. Cálculo do Endereço de Elementos para Matrizes Armazenadas por Coluna Michel Alves dos Santos ∗ Março de 2010 Figura 1: Localização do elemento [i,j] na matriz A. Partindo da idéia de cálculo do endereço de elementos para matrizes armazenadas por linha e adaptando a notação para o cálculo do endereço de elementos para matrizes armazenadas por coluna e observando a figura localizada logo acima, teremos: Location(A[i,j]) = Address of A[1,1] + (((j - 1)*m) + (i - 1))*ElementSize Onde Location representa o nome da função que determina o endereço do elemento pertencente ao array multidimensional; A o nome de variável ou instância desse array; i,j os índices de localização que repectivamente significam linha e coluna; Address of o operador que retorna o endereço de memória de uma determinada área, Address ofA[1,1] a operação que retorna o endereço de memória do primeiro elemento pertencente ao array multidimensional; m o número de linhas do array multidimensional e finalmente ElementSize que nada mais é que o tamanho singular da estrutura ou elemento que é armazenado em cada posição do array multidimensional. Expandindo os cálculos feitos até o momento teremos: Location(A[i,j]) = Address of A[1,1] + ((j - 1)*m)*ElementSize + (i - 1)*ElementSize Location(A[i,j]) = Address of A[1,1] + (j*m - m)*ElementSize + (i - 1)*ElementSize Location(A[i,j]) = Address of A[1,1] + (j*m)*ElementSize - m*ElementSize + i*ElementSize - ElementSize Generalizando o desenvolvimento da fórmula dada acima e especificando o endereço base do primeiro elemento pertencente ao array multidimensional por Address of A[Rowb,Colb], sendo Rowb a linha base de cálculo e Colb a coluna base de cálculo, teremos a seguinte especificação: Location(a[i,j]) = Address of A[Rowb,Colb] + (j*m + i)*ElementSize - ((Colb*m) + Rowb)*ElementSize ∗ Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E-mails: michel.mas@gmail.com, michelalvessantos@hotmail.com. Disciplina: Teoria e Paradigmas de Linguagens de Programação. Docente Responsável: Alcino Dall’Igna Júnior. 1

×