Let $f$ be a function defined for the non-negative integers, such that:

a) $f(n)=0$ if $n=2^{j}-1$ for some $j \geq 0$. 
b) $f(n+1)=f(n)-1$ otherwise.

i) Show that for every $n \geq 0$ there exists $k \geq 0$ such that $f(n)+n=2^{k}-1$.
ii) Find $f(2^{1990})$.
### Part (i)
1. **Identify the base case:**
   - For \( n = 2^j - 1 \), we have \( f(n) = 0 \) by definition.
   - Therefore, \( f(n) + n = 0 + (2^j - 1) = 2^j - 1 \).

2. **Consider the general case:**
   - For \( n \) not of the form \( 2^j - 1 \), we need to show that there exists \( k \geq 0 \) such that \( f(n) + n = 2^k - 1 \).

3. **Use the recursive definition:**
   - If \( n \) is not of the form \( 2^j - 1 \), then \( f(n+1) = f(n) - 1 \).
   - We can express \( f(n) \) in terms of \( f(m) \) where \( m \) is the largest number of the form \( 2^j - 1 \) less than \( n \).

4. **Express \( f(n) \) in terms of \( f(2^j - 1) \):**
   - Let \( 2^j - 1 \) be the largest number less than \( n \).
   - Then, \( f(n) = f(2^j - 1) - (n - (2^j - 1)) \).
   - Since \( f(2^j - 1) = 0 \), we have \( f(n) = -(n - (2^j - 1)) \).

5. **Combine the expressions:**
   - Therefore, \( f(n) + n = -(n - (2^j - 1)) + n = 2^j - 1 \).

6. **Conclusion:**
   - For every \( n \geq 0 \), there exists \( k \geq 0 \) such that \( f(n) + n = 2^k - 1 \).

### Part (ii)
1. **Identify the value of \( f(2^{1990}) \):**
   - We need to find \( f(2^{1990}) \).

2. **Use the recursive definition:**
   - Since \( 2^{1990} \) is not of the form \( 2^j - 1 \), we use the recursive definition.
   - We know \( f(2^{1990}) = f(2^{1990} - 1) - 1 \).

3. **Find \( f(2^{1990} - 1) \):**
   - \( 2^{1990} - 1 \) is of the form \( 2^j - 1 \).
   - Therefore, \( f(2^{1990} - 1) = 0 \).

4. **Combine the expressions:**
   - Thus, \( f(2^{1990}) = 0 - 1 = -1 \).

The final answer is \( \boxed{ f(2^{1990}) = -1 } \).