Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C++ program question-----Conversion of IPv6 address from binary to text format. The basic parts of the code and the output are provided in the following

C++ program question-----Conversion of IPv6 address from binary to text format. The basic parts of the code and the output are provided in the following text. How to program the rest? ( The remaining part of coding)

image text in transcribed

#include #include #include

using namespace std; char toHex(unsigned d);

char* bin2Text_IPv6(const unsigned char *v) { // Convert an IPv6 address from binary to text format. // See the pdf file for the explanation on the conversion requirements.

// IPv6 address is an 128-bit bit-vector represented by an array of 16 unsigned char. // v[0] represents the left most 8 bits of the IPv6 address, and so on. // Bits in a byte are numbered from 7 down to 0 (from left to right). // The 7-th bit of v[0] is the first bit of the IPv6 address.

char *a = new char[40]; // IPv6 address in text format is up to 40 chars, including '\0'

a[0] = '\0'; // dummy statement, replace it by your own codes

// !!!The remaining part of coding!!!

return a; }

char toHex(unsigned d) { // Precondition: 0

if (d >= 10) return d - 10 + 'a'; return d + '0'; }

void printIPv6address_hex(const unsigned char *v) { cout

void test2(unsigned char *v) { cout

void part_2() { cout

// An IPv6 address (in binary) is represented by an array of unsigned char of size 16.

unsigned char v1[] = { 0x12, 0x34, 0x0a, 0xbc, 0x00, 0x00, 0x00, 0x78, 0xff, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x05 }; unsigned char v2[] = { 0x20, 0x01, 0x0d, 0xb8, 0x00, 0xa3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x08 }; unsigned char v3[] = { 0x20, 0x01, 0x0d, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; unsigned char v4[] = { 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x70, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04 }; unsigned char v5[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }; unsigned char v6[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

test2(v1); test2(v2); test2(v3); test2(v4); test2(v5); test2(v6); }

int main() { part_2();

system("pause"); return 0; }

IPv6 address (bin) 1234:0abc: 0000:0078: ff00:0000:0030:0005 IPv6 address (text) 1234:abc:0:78: ff00:0:30:5 IPv6 address (bin) 2001: Odb8:00a3:0000:0000:0000:0200:0008 IPv6 address (text) 2001:db8:a3::200:8 IPv6 address (bin) 2001: Odb8:0000:0000:0001: 0000:0000:0000 IPv6 address (text) 2001:db8:0:0:1:: IPv6 address (bin) 0000:0000:0101:7000:0003: 0000:0000:0004 IPv6 address (text) :: 101:7000:3:0:0:4, IPv6 address (bin) 0000:0000:0000:0000:0000:0000:0000:0001 IPv6 address (text) ::1 IPv6 address (bin) 0000:0000:0000:0000:0000:0000:0000:0000 IPv6 address (text)

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Programming The Perl DBI Database Programming With Perl

Authors: Tim Bunce, Alligator Descartes

1st Edition

1565926994, 978-1565926998

More Books

Students also viewed these Databases questions