If a computer has 2k of memory

  • Thread starter jaydnul
  • Start date
  • #1
jaydnul
531
15
What would the first and last address be? I said 0 and 1999 but the answer was 0 and some other number which i don't remember (it wasnt 1999 haha) What is the correct number for the last address and why isn't it 1999 since there are 2000 bytes in a 2k ram?
 

Answers and Replies

  • #2
phinds
Science Advisor
Insights Author
Gold Member
2022 Award
18,224
11,279
What would the first and last address be? I said 0 and 1999 but the answer was 0 and some other number which i don't remember (it wasnt 1999 haha) What is the correct number for the last address and why isn't it 1999 since there are 2000 bytes in a 2k ram?

In computers "K" mean 1024. Why do you think that might be?
 
  • #3
jaydnul
531
15
Ahh so 2047? Does that mean a gig is 1,024,000,000 bytes?
 
  • #4
jaydnul
531
15
Nevermind, I realized my error after i hit post
 
  • #5
jim hardy
Science Advisor
Gold Member
Dearly Missed
9,869
4,892
Get one of those cheap TI calculators that has BIN, OCT and HEX buttons.
You'll quickly become fluent.
 
  • #6
phinds
Science Advisor
Insights Author
Gold Member
2022 Award
18,224
11,279
Ahh so 2047? Does that mean a gig is 1,024,000,000 bytes?

AGAIN, I ask ... why do you think that might be?
 
  • #7
Fish4Fun
247
2
lundyjb,

In general when discussing RAM, EEPROM and FLASH memories the capacity is given in 2^X format. Therefore 2K represents 2^11 = 2048 Bytes. Assuming the starting address is 0x00, and the memory is organized as 8 bit words, the last address would be 0x7FF (2047d). Directly addressing this space would require an address width of 11 bits if it were organized as 8 bit words, 10 bits if it were organized as 16 bit words, 9 bits if it were organized as 32 bit words and 8 bits if it were organized as 64 bit words.

When working with digital electronics it is generally beneficial to work in powers of 2 (and Hexadecimal notation greatly facilitates this); this gives you the clearest indication of what is actually happening.

The confusion and dis-ambiguous nomenclature surrounding GB, Gigabyte, gibibyte, Gb and other similar terms is discussed @: http://en.wikipedia.org/wiki/Gigabyte. In general gigabyte refers to 2^30 bytes when referencing pc memory (1,073,741,824 bytes) which is similar in value to the SI prefix "giga" which = 10^9 = 1,000,000,000.

One of the great travesties of marketing is that hard drives typically base capacity on SI units (ie, a 400GB HD = 400,000,000,000 bytes; however, Windows Operating systems report the hard drive capacity (and file sizes) in binary notation. As an example a "400GB" hard drive would likely be reported by windows to be a 372GB drive.

The final nebulous marketing scheme I will mention concerns data transmission rates. In almost every case from the early RS232 specifications to the bleeding edge SATA specifications, the transfer rate is defined as the number of bits per second. It might appear this means that the bytes per second is simply the bits per second divided by 8, but this, of course, is never possible in a serial transmission. At the very least a serial packet must have a "start condition" and a "stop condition". In many cases the packet length is a single 8 bit byte, so we have at the minimum, 1 start bit, 8 data bits and a stop bit. In noisy environments the addition of a parity bit is common, increasing the number of bits per byte to 11. There are lots communications standards and protocols, the common theme is that they all sound faster than they really are, lol.

LMAO, that was prolly a lot more than the OP was asking for, sorry for the verbosity.

Fish
 
Top