"Binary decimal" is a contradiction in terms. Decimal has a base of 10, binary a base of 2 and hexadecimal a base of 16.
The way I would do it is:
If you have a value in binary then convert this to a decimal value. Then convert it to hexadecimal remembering that the number will now be comprised by the following (where x represents the digit):
The first digit (from right to left) will equal x * 160, the next will equal x * 161 and so forth...
An example:
So in binary 11111 = (1 * 20) + (1 * 21) + (1 * 22) + (1 * 23) + (1 * 24) = 1 + 2 + 4 + 8 + 16 = 31 (in decimal).
To write this in hexadecimal, 31 would be (15 * 160) + (1 * 161) = 1F
Note: A tip - If you are using a Windows operating system, then if you go to the Start menu and choose search/run and type in "calc" or "calculator" then you will get a virtual calculator to use. If you choose "programmer" from the View menu and then choose the "Bin" button and type in a binary value and then choose the "Hex" button then the binary value will be converted to hexadecimal. (The above certainly applies for Windows 7).
0111 0110
Internally, the computer processes bits - ones and zeroes. Hexadecimal is a shorthand form of writing those values, or of showing them to humans - every hexadecimal digit corresponds to four bits. Conversion from binary to hexadecimal is fairly easy; converstion between binary and decimal is more complicated.
Each hexadecimal digit can hold one of 16 values (0-F); 16 = 2^4, so exactly 4 bits (binary digits) can hold the same value as 1 hexadecimal digit. As a result the conversion from binary to hexadecimal is simply a matter of grouping the bits together in blocks of 4 (making nybbles) and converting each block into a single hexadecimal digit. Similarly for binary to octal but in this case as 8 = 2³ the bits are group into blocks of 3 which are then converted into octal digits. However, converting decimal to hexadecimal is not so "easy" as each decimal digit does not map to an exact number of binary digits. The only exception would be when using BCD (Binary Coded Decimal) where only the bit patterns for the decimal digits 0-9 are used in every 4 bits (wasting 6 possible digits) and where 0000 1001 (09) + 0000 0001 (01) = 0001 0000 (10). In this case the hexadecimal representation of the BCD is exactly the same as the decimal, but I have never seen it used as such (beyond the binary representation).
Binary to hexadecimal is very easy because hexadecimal numbers are designed specifically so that each hex digit is exactly 4 bits (i.e. 16 different values). So if you had this binary number: binary: 100011011011110101000100001 You could put in commas every four places (starting on the left): binary: 100,0110,1101,1110,1010,0010,0001 Then you could write the hex values immediately below: binary: 0100,0110,1101,1110,1010,0010,0001 hex: 4 6 D E A 2 1 and the hex value would be 46DEA21.
Hexadecimal is simply short-hand for binary numbers. Because hexadecimal is base 16 or 24 , every 4 binary bits can be expressed as a single hexadecimal character. For example, 1110 is E in hexadecimal and 1111 0011 1000 1010 is written as F38A in hexadecimal. Writing memory addresses, binary code, or IP addresses in hexadecimal results in number which has 75% less characters. The hexadecimal system uses sixteen distinct symbols, most often the symbols 0-9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen. When dealing with large values the hexadecimal system solves this problem and it is simple to convert a hex digits into a binary digits.
It's used as a "human friendly" representation of binary coded values
Each hexadecimal digit represents four binary digits (bits) (also called a "nibble"), and the primary use of hexadecimal notation is as a human-friendly representation of values in computing and digital electronics. For example, binary coded byte values can range from 0 to 255 (decimal) but may be more conveniently represented as two hexadecimal digits in the range 00 through FF. Hexadecimal is also commonly used to represent computer memory adresses.
Binary- 01100111 Decimal Value- 103
The binary values is 10110101.
Computers do not natively operate in the decimal number system. It's only used in the sense when it comes to communicate with their users who may not readily understand binary, octal, or hexadecimal values.
It is 1111.
Decimal: 75Binary: 1001011