VC++ Program Converts Hex Strings To Integers

Dec. 9, 2002
Binary numbers are seldom implemented in Visual C++ applications because C++ is considered a "high-level" language. Yet in communications systems, where information is transferred between two different devices through a network, using binary or...

Binary numbers are seldom implemented in Visual C++ applications because C++ is considered a "high-level" language. Yet in communications systems, where information is transferred between two different devices through a network, using binary or hexadecimal numbers is much easier than decimal numbers.

In some applications, the computer's user interface will guide the user to input a hexadecimal number via the keyboard. Because this number will be transferred to an embedded system, it must be converted to a "real" number before leaving the PC. In this case, the hexadecimal-number data type in-putted by the user is string. Unfortunately, Visual C++ 6.0 doesn't offer a conversion function that can transform a string (representing a hexadecimal number) into a real hexadecimal or binary number.

The program to execute such a function implements the flow chart shown in the figure. You must first translate the inputted hexadecimal string into a binary string. Because a hexadecimal character represents a 4-bit binary number, it's better to employ a "switch case" structure to convert a hexadecimal character to a 4-bit binary string. Function convert_hex2bin() carries out this conversion.

After converting the whole hexadecimal string into a binary string, you must translate every 4-bit binary string into an integer that represents the real value of the 4-bit binary number. Function convert_sbin2int() returns this integer value. In this function, the binary string is transformed into a real integer by subfunction atoi(), which is included in the VC++ IDE. This "binary" integer is then converted into a decimal. Finally, all of the small integers are accumulated to form the final result. The resulting real number can be sent to an embedded system or be displayed on the screen as a decimal number.

To download the listings, click Download the Code.

Sponsored Recommendations

What are the Important Considerations when Assessing Cobot Safety?

April 16, 2024
A review of the requirements of ISO/TS 15066 and how they fit in with ISO 10218-1 and 10218-2 a consideration the complexities of collaboration.

Wire & Cable Cutting Digi-Spool® Service

April 16, 2024
Explore DigiKey’s Digi-Spool® professional cutting service for efficient and precise wire and cable management. Custom-cut to your exact specifications for a variety of cable ...

DigiKey Factory Tomorrow Season 3: Sustainable Manufacturing

April 16, 2024
Industry 4.0 is helping manufacturers develop and integrate technologies such as AI, edge computing and connectivity for the factories of tomorrow. Learn more at DigiKey today...

Connectivity – The Backbone of Sustainable Automation

April 16, 2024
Advanced interfaces for signals, data, and electrical power are essential. They help save resources and costs when networking production equipment.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!