C ++程序生成随机的十六进制字节

我们将讨论一个可以生成随机十六进制数的C ++程序。在这里,我们将使用rand()itoa()函数来实现它们。让我们分别对这些功能进行分类讨论。

rand(): rand()函数是C ++的预定义方法。在<stdlib.h>头文件中声明。rand()用于生成一定范围内的随机数。这里min_n是随机数的最小范围,而max_n是随机数的最大范围。因此,rand()将返回min_n到(max_n – 1)之间的随机数,包括极限值。在这里,如果我们将下限和上限分别提到为1和100,那么rand()它将返回从1到(100 – 1)的值。即从1到99。

itoa(): 返回十进制或整数的转换值。它将值转换为具有指定基数的以空值终止的字符串。它将转换后的值存储到用户定义的数组中。

语法

itoa(new_n, Hexadec_n, 16);

这里new_n是任意随机整数,Hexadec_n是用户定义的数组,16是十六进制数的基数。这意味着将十进制或整数转换为十六进制数。

算法

Begin

   Declare max_n to the integer datatype.

      Initialize max_n = 100.

   Declare min_n to the integer datatype.

      Initialize min_n = 1.

   Declare an array Hexadec_n to the character datatype.

   Declare new_n to the integer datatype.

   Declare i to the integer datatype.

   for (i = 0; i < 5; i++)

      new_n = ((rand() % (max_n + 1 - min_n)) + min_n)

      Print “The random number is:”.

      Print the value of new_n.

      Call itoa(new_n, Hexadec_n, 16) method to

      convert a random decimal number to hexadecimal number.

      Print “Equivalent Hex Byte:”

         Print the value of Hexadec_n.

End.

示例

#include<iostream>

#include<conio.h>

#include<stdlib.h>

using namespace std;

int main(int argc, char **argv) {

   int max_n = 100;

   int min_n = 1;

   char Hexadec_n[100];

   int new_n;

   int i;

   for (i = 0; i < 5; i++) {

      new_n = ((rand() % (max_n + 1 - min_n)) + min_n);

      //rand()返回随机十进制数。

      cout<<"The random number is: "<<new_n;

      itoa(new_n, Hexadec_n, 16); //converts decimal number to Hexadecimal number.

      cout << "\nEquivalent Hex Byte: "

      <<Hexadec_n<<endl<<"\n";

   }

   return 0;

}

输出结果

The random number is: 42

Equivalent Hex Byte: 2a

The random number is: 68

Equivalent Hex Byte: 44

The random number is: 35

Equivalent Hex Byte: 23

The random number is: 1

Equivalent Hex Byte: 1

The random number is: 70

Equivalent Hex Byte: 46

以上是 C ++程序生成随机的十六进制字节 的全部内容, 来源链接: utcz.com/z/360288.html

回到顶部