Can someone convert memory address (hex) into MB for me?

Long story short, can someone convert this hex number memory address for me into MB?


Long Story, I have to do some memory mapping to fix a problem with a crappy foxconn mobo to accept my fermi motherboard haha. That is the hex number I got from my mobo, I just don't understand how to view that as a MB form.

This is the guide I'm following:

vladh4x0r wrote:
cjmc45321988, just wrote a walkthrough for you below -- beer appreciated :D. It is a manual process that involves memory address computations, and was never meant to be user-friendly -- blame your mainboard BIOS writers for having to clean up after them. If you get stuck somewhere, post the specific step (and the output of the commands), and we can try to help further. In the future, please provide the relevant hardware configuration - in this case at minimum the Windows version (and 32-bit vs 64-bit), amount of RAM installed, and exact mainboard model.

To summarize:

1) Boot into 64-bit Linux, run these commands, and save the output:
dmesg | grep e820
cat /proc/mtrr

2) Get the last memory address (from the first command). In the above example, it's 0x1AC000000 in hex, or 6848MB:
[ 0.000000] BIOS-e820: 0000000100000000 - 00000001ac000000 (usable)

3) Compute the last address covered by write-back MTRRs (from the second command). In the above example, it's 6144MB + 512MB = 6656MB or 0x1A0000000 in hex:
reg02: base=0x180000000 (6144MB), size= 512MB: write-back, count=1

3) If the sizes are the same, stop here - this is not the problem. If the sizes are different, the first number is expected to be larger than the second number. Take the smaller number. This is the top address of your cached memory. In the example above, it is 0x1A0000000 hex, or 6656MB.

4) Boot into Windows, and change the current Windows boot loader entry to truncate the memory at this lower address. Make a backup copy of the current loader entry first, in case of error. For Windows 7, the steps are (must run from a command prompt that has been "run as administrator"):
bcdedit /copy {current} /d "Windows 7 - copy"
bcdedit /set {current} truncatememory 0x1A0000000
Who is Participating?
Joe Winograd - EE Fellow & MVEConnect With a Mentor DeveloperCommented:
I read some of the longer story (not all of it) and I see that they're saying:

01AC000000 = 6848MB

Here's how they got that:

01AC000000 = 7,180,648,448

They then divided that by 1024*1024 (1,048,576), which is 1MB in computer-speak. That is,

7,180,648,448/1,048,576 = 6848 MB

So, for your figure:

9,328,132,095/1,048,576 = 8896 MB

Regards, Joe
Joe Winograd - EE Fellow & MVEDeveloperCommented:
I haven't read the long story yet, but the short story is:
022BFFFFFF = 9,328,132,095

Regards, Joe
Pancake_EffectAuthor Commented:
Is that in bit or bytes etc?

This is in reference for my system memory so I need it in MB.

Looks too big too be in MB I think

Basically in the long story the poster states:

Let the last memory address (from the first command). In the above example, it's 0x1AC000000 in hex, or 6848MB

But that is someone else's computer, so I imagine mine is different number since I have more memory. My number is showing 0x000000022bffffff when I do the commands. But 9,328,132,095 looks too big to be in MB.
Will You Be GDPR Compliant by 5/28/2018?

GDPR? That's a regulation for the European Union. But, if you collect data from customers or employees within the EU, then you need to know about GDPR and make sure your organization is compliant by May 2018. Check out our preparation checklist to make sure you're on track today!

Joe Winograd - EE Fellow & MVEDeveloperCommented:
Our messages just crossed, but I think I answered your last question.
Pancake_EffectAuthor Commented:
8896 is the number I was looking for. Thank you very much Joe!
Joe Winograd - EE Fellow & MVEDeveloperCommented:
You're very welcome!
Pancake_EffectAuthor Commented:
Sorry to bother you again, but while I have you here for a moment do you know what

8704MB would be if we convert this number back to a memory address? NOTE: I know this is a different number than the 8896.

Edit: Created new question post for this
Joe Winograd - EE Fellow & MVEDeveloperCommented:
8704MB = 0x220000000

See detailed explanation at new question. Cheers, Joe
MB = 1,000,000 bytes  (10^6)
MiB = 1,048,576 bytes (2^20)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.