title: Understanding assumptions about machine word size in analyzing computer algorithms
body: <p>I am reading the book <a href="http://highered.mcgraw-hill.com/sites/0070131511/" rel="noreferrer">Introduction to Algorithms</a> by  Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein.. In the second chapter under "Analyzing Algorithms" it is mentioned that :</p>
  
  <blockquote>
    <p>We also assume a limit on the size of each word of data. For example , when working with inputs of size n , we typically assume that integers are represented by c lg n bits for some constant c>=1 . We require c>=1 so that each word can hold the value of n , enabling us to index the individual input elements , and we restrict c to be a constant so that the word size doesn't grow arbitrarily .( If the word size could grow arbitrarily , we could store huge amounts of data in one word and operate on it all in constant time - clearly an unrealistic scenario.) </p>
  </blockquote>
  
  <p>My questions are why this assumption that each integer should be represented by c lg n bits and also how c>=1 being the case allows us to index the individual input elements ?</p>