Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

What does 0x2F mean?

Status
Not open for further replies.

chris414

New Member
What does the "0x" in "0x2F" mean? I get that the "2F" is hexadecimal, but what relevance does the "0x" have?
 
It is used to distinguish between 'AF' the alphabetic string and 0xAF the hexidecimal number. The number starts with a digit which has the same value in any number base.
 
Hi,


In that little code example I sent you will see on the first line the code LIST P=18F2550,r=hex - radix=hex - meaning that any uncoded number will be treated as a hex value - so if you had movlw 16 it would be recognised as hex 0x16.

It is also quite popular for the radix=dec when 16 is simply that, but more commonly coded as .16 - the full point denoting a decimal value follows.

Even when using the Radix statement, to avoid problems its perhaps wise to always code your values accordingly 0xhex or .dec or binary b'01010101'
 
What does the "0x" in "0x2F" mean? I get that the "2F" is hexadecimal, but what relevance does the "0x" have?

As many have said, the 0x (in many languages including C and PIC ASM) is a prefix added to hexadecimal numbers. 0b means binary and 0d usually designates decimal, although decimal is usually default and assumed to be decimal without any prefix. 0O (zero-oh) usually means octal :p
 
If you read the MPASM/MPLAB help files, all these things are explained.

I sometimes think a helpfile that lists all the help files and explains what kind of stuff they cover is in order.
 
If you want to figure out the binary/hexadecimal thing use this chart I created. I constantly use it when I'm writing code for PICs. It helps me speed up the coding after I create a chart of how I want ports to be either High or Low. :)


heres a little bit of sample code

Code:
movlw 0x0A
movwf PortB
0x0A means 00001010 in Binary which means Pins 1 and 3 are High and the rest are Low
 

Attachments

  • Hex-Binary Chart.txt
    26.2 KB · Views: 492
Last edited:
Doesn't the Windows Calculator provide a simple mechanism for looking at a number as decimal, binary, or hex?
 
I wanted a quick reference guide I can use when I'm coding. All I have to do is do a search in my hex/binary chart and go straight to the correct hex code
 
I wanted a quick reference guide I can use when I'm coding. All I have to do is do a search in my hex/binary chart and go straight to the correct hex code

The hex to bin and bin to hex should be engraved deeply into your brain if you want to work in embedded systems. Along the line of 2+3=5 type of recall. You need to know 1011 is B and 1101 is D without thinking.

The time it takes to learn the 16/32 conversion will be paid back to you many times.
 
I'm just not sure why you made the chart go up to 2 digits of hex and 8 of binary. Hex converts in nice 4 bit chunks, thats why its used with computers. You can look at any hex digit and know what the corresponding block of 4 binary bits ("nibble") is without knowing the digits that proceed it. Conversly, if I tell you "I have a decimal number, the fifth digit is 9" you can't get the corresponding binary for that part of the number.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top