76 987
Assignments Done
98%
Successfully Done
In June 2019

Answer to Question #39660 in C++ for Theodore

Question #39660
Hello, I am studying C++ and fairly new at the language, I am trying to get a better understanding on how the following code works:
#define MAX 1000
int main(){
char binaryNumber[MAX],hexaDecimal[MAX];
int temp;
long int i=0,j=0;
cout << "Enter any number any binary number: ";
cin >> binaryNumber;
while(binaryNumber[i])
{
binaryNumber[i] = static_cast<int>(binaryNumber[i]) -48;
++i;
}
--i;
while(i-2>=0){
temp = binaryNumber[i-3] * 8 + binaryNumber[i-2] * 4 + binaryNumber[i-1] * 2 + binaryNumber[i] ;
if(temp > 9)
hexaDecimal[j++] = temp + 55;
else
hexaDecimal[j++] = temp + 48;
i=i-4;
}
if(i ==1)
hexaDecimal[j] = binaryNumber[i-1] * 2 + binaryNumber[i] + 48 ;
else if(i==0)
hexaDecimal[j] = binaryNumber[i] + 48 ;
else
--j;
cout << "Equivalent hexadecimal value: ";
while(j>=0){
cout << hexaDecimal[j--];
}
Expert's answer

Not answered

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be first!

Leave a comment

Ask Your question

Submit
Privacy policy Terms and Conditions