free prints same human-readable output (both power of 1024 and power of 1000)

Hi,

Greeting from me!

Below is the output of free command (power of 1024 and power of 1000) separately:

# free -m
              total        used        free      shared  buff/cache   available
Mem:            988          59         572           0         356         795
Swap:             0           0           0
# free --mega
              total        used        free      shared  buff/cache   available
Mem:           1036          62         599           0         374         834
Swap:             0           0           0

But if enable human-readable output, the outputs are same:

# free -m -h
              total        used        free      shared  buff/cache   available
Mem:          988Mi        59Mi       572Mi       0.0Ki       356Mi       795Mi
Swap:            0B          0B          0B
# free --mega -h
              total        used        free      shared  buff/cache   available
Mem:           988M         59M        572M        0.0K        356M        795M
Swap:            0B          0B          0B

IMHO, it is a little confusing. Is it a deliberate design or bug? Thanks in advance!

Best Regards Nan Xiao