Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ เพื่อสร้างไบต์ฐานสิบหกสุ่ม


เราจะหารือเกี่ยวกับโปรแกรม C ++ ซึ่งสามารถสร้างเลขฐานสิบหกแบบสุ่มได้ ที่นี่เราจะใช้ฟังก์ชัน rand() และ itoa() เพื่อใช้งานเหมือนกัน ให้เราหารือเกี่ยวกับฟังก์ชันเหล่านี้แยกกันและตามหมวดหมู่

แรนด์(): ฟังก์ชัน rand() เป็นวิธีการที่กำหนดไว้ล่วงหน้าของ C++ มันถูกประกาศในไฟล์ส่วนหัว rand() ใช้เพื่อสร้างตัวเลขสุ่มภายในช่วง โดยที่ min_n คือช่วงต่ำสุดของตัวเลขสุ่ม และ max_n คือช่วงสูงสุดของตัวเลข ดังนั้น rand() จะส่งคืนตัวเลขสุ่มระหว่าง min_n ถึง (max_n – 1) ซึ่งรวมถึงค่าขีดจำกัด หากเรากล่าวถึงขีดจำกัดล่างและบนเป็น 1 และ 100 ตามลำดับ rand() จะคืนค่าจาก 1 ถึง (100 – 1) เช่น จาก 1 ถึง 99

itoa(): ส่งกลับค่าที่แปลงแล้วของตัวเลขทศนิยมหรือจำนวนเต็ม มันแปลงค่าเป็นสตริงที่สิ้นสุดด้วยค่า null ด้วยฐานที่ระบุ มันเก็บค่าที่แปลงเป็นอาร์เรย์ที่ผู้ใช้กำหนด

ไวยากรณ์

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() returns random decimal number.
      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