Olá, estou tentando alterar o mapeamento de memória reservada em um sistema linux. Mas em determinado momento do cálculo os valores não batem, vejam só um exemplo:
[color=green]base=0x00000000 ( 0MB), size=1024MB
base=0x40000000 (1024MB), size= 256MB
base=0x50000000 (1280MB), size= 128MB [/color]
base=[color=red]0x58000000 /color, size= [color=brown]64MB[/color]
[color=green]base=0x5c000000 (1472MB), size= 32MB
base=0x5e000000 (1504MB), size= 16MB [/color]
O exemplo diz que:
[color=red]0x58000000[/color] = [color=blue]1408MB [/color]= [color=brown]64MB[/color]
[color=brown]64[/color] x 1024 x 1024 =[color=orange] 67108864[/color] Bytes
Vamos supor que eu queira trabalhar com o seguinte valor:[color=red] 0x65000000[/color]
Usando um conversor Hexadecimal/Decimal ficaria assim: [color=orange][telefone removido][/color] Bytes
Convertendo o valor [color=orange][telefone removido][/color] para MB seria [color=blue]1616MB[/color].
.
Na visão geral, depois de converter ficaria assim:
base=[color=red]0x65000000[/color] ([color=blue]1616MB[/color]), size= [color=brown]???[/color]
.
Eu não consigo achar o valor final “size” como mostrado no exemplo.
Estou me perdendo em algum lugar do cálculo, vocês entenderam?