• TwilightKiddy@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    rand() generates a number from 0 to a constant defined in stdlib, which usually corresponds to the architechture of your compiler. So, for 32 bit systems (assuming all the software in the line is 32 bit, too) it will be 2^31-1 = 2 147 483 647, as 1 bit in integers is reserved for negative numbers and 1 number is 0.

    Though, by design it is guaranteed to be at least 32767, which is a value for 16 bit integers.

    • lhamil64@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      Oh good to know. I googled it and got that 32767 number but it did say “guarantee to be at least 32767”