Encounter 0 when calculating log power spectrum To convert power spectrum to a log-scaled one, how to define log10(X(k)) if X(k)=0 for some k?

For sake of illustration, I brief my process as follows which is a convention one:


Calculate the magnitude spectrum X(k) of the time-domain signal x(n) by X(k) = abs(fft(x(n))).
Convert the magnitude spectrum or power spectrum to db by 20*log10(X(k)) or 10*log10(X(k)**2), respectively. 


My problem arises when there is X(k)=0 when computing log10(X(k)) which is either not defined or -inf. How to deal with this?
Typically, one's data has some sort of noise floor (-96 dB, etc.).  So one common way to deal with the FFT bins that are zero (or tiny) is to replace anything below the noise floor with the noise floor level, since any value below that value is most likely not useful data.  Doing this before taking the log() function may provide some computational efficiency.