heh, questo porta in un'area di alcuni malintesi, che recentemente si è tentato di correggere con la definizione di 2 termini separati: GB (con moltiplicatore decimale, di 1000) e GiB (con moltiplicatore binario, di 1024, ecc.). Quando si dice che il computer ha 2048 MB di RAM, in realtà si intende che ha 2048 MiB (1024*1024) di memoria.
L'indirizzamento hardware è sempre un multiplo binario, o potenza di 2, perché questo è il modo più efficiente per progettare circuiti digitali. Ciò che rende la cosa particolarmente confusa, come nel tuo esempio, la gente parla di multipli decimali di MiB e GiB, che sono moltiplicatori binari. Questo è vero anche per le specifiche di memoria Java JVM: si specifica un numero decimale di MiB tipicamente. La RAM del computer è anche descritta come un multiplo decimale di un moltiplicatore binario, ad esempio 64 KB, 4 GB, che dovrebbe essere più propriamente chiamato 64 KiB, 4 GiB.
Quindi, per il tuo esempio, il tuo computer ha 2 GiB o 2.048 GB di RAM.
Inoltre, potresti ricordare che i produttori di dischi hanno sempre usato moltiplicatori decimali, perché questo faceva sembrare i loro dischi più grandi (se X*1000 = Y*1024, allora X > Y). Poi, quando si comprava un disco e vi si installava un software, il sistema operativo riportava uno spazio totale minore. Dove andava a finire la differenza? Da nessuna parte, tranne che per un po' di overhead nella formattazione, ma soprattutto in questo malinteso (intenzionale?).