用c写一个函数,生成256位、64位、42位、16位四个16进制随机数的函数
时间: 2023-07-10 22:04:32 浏览: 120
以下是一个生成四个指定位数的16进制随机数的C函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generate_random_numbers(int num1_bits, int num2_bits, int num3_bits, int num4_bits) {
int num1_bytes = num1_bits / 8;
int num2_bytes = num2_bits / 8;
int num3_bytes = num3_bits / 8;
int num4_bytes = num4_bits / 8;
// Seed the random number generator with the current time
srand(time(NULL));
// Generate and print the first random number
printf("%0*X", num1_bytes * 2, rand() % (1 << (num1_bytes * 8)));
// Generate and print the second random number
printf("%0*X", num2_bytes * 2, rand() % (1 << (num2_bytes * 8)));
// Generate and print the third random number
printf("%0*X", num3_bytes * 2, rand() % (1 << (num3_bytes * 8)));
// Generate and print the fourth random number
printf("%0*X", num4_bytes * 2, rand() % (1 << (num4_bytes * 8)));
}
int main() {
generate_random_numbers(256, 64, 42, 16);
return 0;
}
```
这个函数将生成四个指定位数的16进制随机数,并将它们打印出来。要使用该函数,只需将所需的位数传递给函数即可。例如,要生成一个256位、64位、42位和16位的随机数,可以调用`generate_random_numbers(256, 64, 42, 16)`。
阅读全文