RAM or Disk Size Display Discrepancies
In MoBro, your 32GB of RAM will appear as 34GB, while your 1TB hard drive is displayed as 1000GB despite Windows listing the same hard drive as only 931GB.
This discrepancy comes from the often confusing topic of data units and how they are used by different industries and
companies.
This page aims to explain these differences a bit more clearly.
Basics
In the International System of Units (SI), a gigabyte (GB) is defined as 1,000³ bytes, or 1,000,000,000 bytes. This definition is also legally recognized (there have been lawsuits regarding this in the US).
Hard drives are marketed using this decimal-based standard. For instance, if you purchase a 1TB hard drive, its capacity will correspond to 1,000⁴ bytes.
In contrast, memory modules like RAM are measured using a binary-based standard, calculated in powers of 2. This means 1GB of memory equals 1,024³ bytes, or 1,073,741,824 bytes.
Technically, this unit is referred to as a gibibyte (GiB) according to the IEC standard, but manufacturers often stick to using GB due to historical reasons and because consumers are familiar with it.
Representation Across Operating Systems
Windows
Windows calculates storage in binary-based units (GiB) but still uses the label GB in its interface. This inconsistency is also due to historical reasons and also to maintain simplicity for users.
For example:
- A 1TB hard drive, using the decimal standard of 1,000⁴ bytes, appears as approximately 931GB in Windows.
- Similarly, 32GB of RAM (technically 32GiB) will display as 32GB, even though its capacity in bytes aligns with the binary definition.
Linux
Linux typically calculates and displays sizes more transparently. It distinguishes between decimal (SI) and binary (IEC) units, often labeling them explicitly (e.g., GB for decimal-based and GiB for binary-based units).
Linux allows users to interpret both decimal and binary conventions, depending on the context.
For example:
- A 1TB hard drive sold with a capacity of 1,000³ bytes will often be displayed as approximately 931GiB (binary-based).
- Memory such as 32GiB RAM is clearly aligned with its binary capacity while marked accordingly.
This clear labeling helps prevent confusion for users when comparing storage and memory sizes.
macOS
In contrast, macOS exclusively uses the decimal unit system (SI). Starting with macOS Snow Leopard, Apple decided to align with SI standards, ensuring that storage sizes always appear as advertised:
- A 1TB hard drive will consistently be displayed as 1TB in macOS.
- 32GiB of RAM, however, will display as approximately 34GB, similar to how MoBro calculates sizes.
How MoBro Displays Units
MoBro follows the SI standard for calculating and displaying storage and memory sizes. This means it treats 1GB as 1,000³ bytes (decimal-based).
Impact on Display
- 32GiB of memory is displayed as approximately 34GB.
- A 1TB hard drive will appear as 1TB, correctly matching its advertised capacity.
Unit Support
MoBro supports both decimal-based units (e.g., GB) and binary-based units (e.g., GiB). You can simply select your preferred unit type in the dashboard builder to ensure the display suits your needs.
Takeaway
The primary source of confusion across platforms stems from the differing measurement conventions used for RAM and storage devices:
- Storage devices (e.g., SSDs, HDDs, USBs) are typically marketed using SI decimal units.
- Memory modules (RAM) are measured in binary units but are still labeled as GB rather than GiB.
- Windows uses binary-based calculations (GiB) but continues to label and display these capacities as GB, leading to inconsistency.
How these units are displayed ultimately depends on the operating system and tools being used. While Linux and macOS offer clarity with explicit labels (e.g., GB vs. GiB), Windows and many manufacturers blur the distinction for simplicity and tradition, contributing to user confusion.