# A question for school work.

Hello, I was in IT class in school and the topic of storage units came up. The book we use refers to 1kb as 1 000 bytes, and to 1mb as 1 000 000 bytes. But it also makes a footnote and says that memory sizes used internally in the computer are powers of 2, so 1kb is 1024 bytes, and 1mb is 1 048 576 bytes. I wanted to ask which notation is correct, and what are the differences between them.

##### Share on other sites

Kilo means one thousand

1 KILOBYTE means 1000 bytes.

Because computers work with powers of 2 ( one bit = 2 states, on or off, 1 byte is 8 bits or 28 or 256 possible values and so on) and it was more efficient for operating systems in the times of 8086 and 386 and so on to work with multiples of 2, operating systems like MS-DOS defined 1 KB as 1024 bytes or 210 bytes.  Same, 1 MB is 1024 Kilobytes  = 1024 x 1024 bytes = 220 bytes.

In order to reduce confusion, the organizations that deal with standards have invented KibiByte and MibiByte and so on, where bi stands for BINARY.

So 1 KibiByte = 1024 bytes, 1 MibiByte = 1024 KibiByte and so on.

However, people are so used with the old notation that in Windows and other places you may still see file sizes using the term Kilobytes when they actually mean 1024 bytes.

Also don't forget that networking equipment and some devices work with BITS ... so when you say 1kbps it means 1000 bits or 125 bytes, because there's 8 bits in a byte.

##### Share on other sites

8 bits = 1 byte

1024 bytes = 1KB

1024 KB = 1MB

1024 MB = 1GB

1024 GB = 1TB

etc, etc, etc

drive manufacturers define storage capacity by 1000x (where x is GB or TB, or whatever). This is why your "1TB" HDD only displays as 930GB rather than 1.00TB; Windows still operates off the binary standard that @mariushm talked about.

For internet speeds, they are usually referenced in Mbps (mega bits per second). 8Mbps is equal to 1MB/s (Megabytes per second), and it goes up similarly from there. iirc 8000mbps is considered to be 1Gbps.

Primary PC: - https://pcpartpicker.com/list/8G3tXv (Windows 10 Home)

HTPC: - https://pcpartpicker.com/list/KdBb4n (Windows 10 Home)
Server: Dell Precision T7500 - Dual Xeon X5660's, 44GB ECC DDR3, Dell Nvidia GTX 645 (Windows Server 2019 Standard)

*SLI Rig* - i7-920, MSI-X58 Platinum SLI, 12GB DDR3, Dual EVGA GTX 260 Core 216 in SLI - https://pcpartpicker.com/list/GHw6vW (Windows 7 Pro)

HP DC7900 - Core 2 Duo E8400, 4GB DDR2, Nvidia GeForce 8600 GT (Windows Vista)

Compaq Presario 5000 - Pentium 4 1.7Ghz, 1.7GB SDR, PowerColor Radeon 9600 Pro (Windows XP x86 Pro)
Compaq Presario 8772 - Pentium MMX 200Mhz, 48MB PC66, 6GB Quantum HDD, "8GB" HP SATA SSD adapted to IDE (Windows 98 SE)

Asus M32AD - Intel i3-4170, 8GB DDR3, 250GB Seagate 2.5" HDD (converting to SSD soon), EVGA GeForce GTS 250, OEM 350W PSU (Windows 10 Core)

*Haswell Tower* https://pcpartpicker.com/list/3vw6vW (Windows 10 Home)

*ITX Box* - https://pcpartpicker.com/list/r36s6R (Windows 10 Education)

Dell Dimension XPS B800 - Pentium 3 800Mhz, RDRAM

In progress projects:

*Skylake Tower* - Pentium G4400, Asus H110

*Trash Can* - AMD A4-6300

*GPU Test Bench*

*Pfsense router* - Pentium G3220, Asrock H97m Pro A4, 4GB DDR3

##### Share on other sites

4 minutes ago, Eastman51 said:

8 bits = 1 byte

1024 bytes = 1KB

1024 KB = 1MB

1024 MB = 1GB

1024 GB = 1TB

etc, etc, etc

drive manufacturers define storage capacity by 1000x (where x is GB or TB, or whatever). This is why your "1TB" HDD only displays as 930GB rather than 1.00TB; Windows still operates off the binary standard that @mariushm talked about.

For internet speeds, they are usually referenced in Mbps (mega bits per second). 8Mbps is equal to 1MB/s (Megabytes per second), and it goes up similarly from there. iirc 8000mbps is considered to be 1Gbps.

Not quite.

14 minutes ago, mariushm said:

Kilo means one thousand

1 KILOBYTE means 1000 bytes.

Because computers worked with powers of 2 and it was more efficient for operating systems in the times of 8086 and 386 and so on to work with multiples of 2, operating systems like MS-DOS defined 1 KB as 1024 bytes or 210 bytes.  Same, 1 MB is 1024 Kilobytes  = 1024 x 1024 bytes = 220 bytes.

In order to reduce confusion, the organizations that deal with standards have invented KibiByte and MibiByte and so on, where bi stands for BINARY.

So 1 KibiByte = 1024 bytes, 1 MibiByte = 1024 KibiByte and so on.

However, people are so used with the old notation that in Windows and other places you may still see file sizes using the term Kilobytes when they actually mean 1024 bytes.

^This is correct^

A small elaboration just to add info:
When abbreviating these properly, they go as follows,

1024KiB = 1MiB

1024GiB = 1 TiB, etc

Uppercase "B" = Byte (or 8 bits)

Lowercase "b" = bit. (1/8th of a byte)

transfer speeds are almost always measured in bits, storage capacity are almost always measured in bytes.

It gets mildly confusing because writing data to a disk is measured in bytes per second, but the transfer across a device is measured in bits.

¯\_(ツ)_/¯

Nowadays if you say "128GB SSD", most people realize that it's formatted size will be less then 128 GigaBytes because the manufacturer will measure it based on base10, but windows will see it as base2. So it "feels" smaller (for lack of a better word).

Fine you want the PSU tier list? Have the PSU tier list: https://linustechtips.com/main/topic/1116640-psu-tier-list-40-rev-103/

Stille (Desktop)

Ryzen 9 3900XT@4.5Ghz - Cryorig H7 Ultimate - 16GB Vengeance LPX 3000Mhz- MSI RTX 3080 Ti Ventus 3x OC - SanDisk Plus 480GB - Crucial MX500 500GB - Intel 660P 1TB SSD - (2x) WD Red 2TB - EVGA G3 650w - Corsair 760T

Evoo Gaming 15"
i7-9750H - 16GB DDR4 - GTX 1660Ti - 480GB SSD M.2 - 1TB 2.5" BX500 SSD

VM + NAS Server (ProxMox 6.3)

1x Xeon E5-2690 v2  - 92GB ECC DDR3 - Quadro 4000 - Dell H310 HBA (Flashed with IT firmware) -500GB Crucial MX500 (Proxmox Host) Kingston 128GB SSD (FreeNAS dev/ID passthrough) - 8x4TB Toshiba N300 HDD

Toys: Ender 3 Pro, Oculus Rift CV1, Oculus Quest 2, about half a dozen raspberry Pis (2b to 4), Arduino Uno, Arduino Mega, Arduino nano (x3), Arduino nano pro, Atomic Pi.

##### Share on other sites

22 minutes ago, Brink2Three said:

Nowadays if you say "128GB SSD", most people realize that it's formatted size will be less then 128 GigaBytes because the manufacturer will measure it based on base10, but windows will see it as base2. So it "feels" smaller (for lack of a better word).

With SSDs it's a bit more complicated.

While the Flash memory chips are manufactured using multiples of 2 (so a 128 GB SSD may use 4 x 32 GibiB flash memory chips) the manufacturers of SSDs will program the drives to say they only have 128 GB like mechanical drives (using multiples of 1000). This way, they hide a few GB worth of flash memory from the user. It's done for several reasons.

* to reduce confusion between regular hard drives and SSDs

* to use a part of that hidden memory for internal bookkeeping, to keep track of where each file is stored in which memory chip, how much each chip is used to reduce wear on memory cells

* a part of memory cells are kept as spare to extend the life of the SSD - as some memory cells wear out and can no longer hold data reliably, the ssd moves data into that spare area and hides everything from you and the drive behaves like nothing happened..

With cheaper flash with less endurance (TLC for example). the manufacturers go even further and sell a drive as 240 GB or 240.000.000.000 bytes but in reality there's 256 x 1024 x 1024 x 1024 bytes in memory cells. , so 56 x 1024 x 1024 x 1024 bytes are hidden from user and used to extend life of the SSD and for other reasons.

##### Share on other sites

4 minutes ago, mariushm said:

With SSDs it's a bit more complicated.

While the Flash memory chips are manufactured using multiples of 2 (so a 128 GB SSD may use 4 x 32 GibiB flash memory chips) the manufacturers of SSDs will program the drives to say they only have 128 GB like mechanical drives (using multiples of 1000). This way, they hide a few GB worth of flash memory from the user. It's done for several reasons.

* to reduce confusion between regular hard drives and SSDs

* to use a part of that hidden memory for internal bookkeeping, to keep track of where each file is stored in which memory chip, how much each chip is used to reduce wear on memory cells

* a part of memory cells are kept as spare to extend the life of the SSD - as some memory cells wear out and can no longer hold data reliably, the ssd moves data into that spare area and hides everything from you and the drive behaves like nothing happened..

With cheaper flash with less endurance (TLC for example). the manufacturers go even further and sell a drive as 240 GB or 240.000.000.000 bytes but in reality there's 256 x 1024 x 1024 x 1024 bytes in memory cells. , so 56 x 1024 x 1024 x 1024 bytes are hidden from user and used to extend life of the SSD and for other reasons.

This is also true.

I was using the SSD purely for example, but technically a mechanical hard drive would be more accurate.

Fine you want the PSU tier list? Have the PSU tier list: https://linustechtips.com/main/topic/1116640-psu-tier-list-40-rev-103/

Stille (Desktop)

Ryzen 9 3900XT@4.5Ghz - Cryorig H7 Ultimate - 16GB Vengeance LPX 3000Mhz- MSI RTX 3080 Ti Ventus 3x OC - SanDisk Plus 480GB - Crucial MX500 500GB - Intel 660P 1TB SSD - (2x) WD Red 2TB - EVGA G3 650w - Corsair 760T

Evoo Gaming 15"
i7-9750H - 16GB DDR4 - GTX 1660Ti - 480GB SSD M.2 - 1TB 2.5" BX500 SSD

VM + NAS Server (ProxMox 6.3)

1x Xeon E5-2690 v2  - 92GB ECC DDR3 - Quadro 4000 - Dell H310 HBA (Flashed with IT firmware) -500GB Crucial MX500 (Proxmox Host) Kingston 128GB SSD (FreeNAS dev/ID passthrough) - 8x4TB Toshiba N300 HDD

Toys: Ender 3 Pro, Oculus Rift CV1, Oculus Quest 2, about half a dozen raspberry Pis (2b to 4), Arduino Uno, Arduino Mega, Arduino nano (x3), Arduino nano pro, Atomic Pi.