Coverage bins range coding style

I have a coverpoint address and address range is from 32’h0000_0000 to 32’h00ff_ffff. I want to write bins for that coverpoint in the range of 16k. For example:

covergroup cg;
  coverpoint addr
  {
      bins addr_0 = {[32'h0000_0000:32'h0000_ffff]};
      bins addr_1 = {[32'h0001_0000:32'h0001_ffff]};
      .
      .
      .
     bins addr_255 = {[32'h00ff_0000:32'h00ff_ffff]};
  }
endgroup

Is there any efficient way of coding these bins?

Basically I have addresses 0 to K, and I want to cover them in range of each L. Does systemverilog coverage provides any efficient coding style?

Thanks,
Kavish

In reply to shahkavish77:

covergroup cg;
  coverpoint addr
  {
      bins bin_addr[K/L] = {[0:K]};
  }
endgroup

In reply to dave_59:

Thanks Dave.