0xFFFFF

If you are new to OS Development, plan on spending some time here first before going into the other forums.

Moderator:Moderators

Post Reply
andrew5434
Posts:7
Joined:Tue Jan 11, 2011 3:33 am
0xFFFFF

Post by andrew5434 » Thu Jan 13, 2011 2:48 am

What is 0xFFFFF and how do you subtract it in byts.

User avatar
Mike
Site Admin
Posts:465
Joined:Sat Oct 20, 2007 7:58 pm
Contact:

Re: 0xFFFFF

Post by Mike » Thu Jan 13, 2011 7:00 am

Hello,

Have you worked with hexadecimal before? If not, I highly advise learning hexadecimal before going any further. 0xFFFFF (in hexadecimal) is 1048575 decimal; which is 1MB when referring to the address space. Thus to add or subtract bytes just involves adding or subtracting this value.
Lead Programmer for BrokenThorn Entertainment, Co.
Website: http://www.brokenthorn.com
Email: webmaster@brokenthorn.com

Hoozim
Posts:34
Joined:Sun Nov 21, 2010 6:40 pm

Re: 0xFFFFF

Post by Hoozim » Fri Jan 14, 2011 2:19 am

You will need to understand both the hexidecimal system and the binary system before you can do really any kind of programming. The hexidecimal system is popular because of how every two digits equals another byte. (For example 0xFF is 255, the maximum value of a byte)

The hexidecimal (and the binary) numbering systems are just like the decimal system except for the number of options for each digit. The decimal system uses 0-9. After 9, a 1 is put in the next place value and the original place value is reset to 0 (then incremented again). So you have 9, then you have 10. The hexidecimal system is the same except you have 16 options for each digit. You have 0-9 then A, B, C, D, E, F. F represents 15 in the decimal system. After F, the same thing applies, with the place value. F then 10. But in hexidecimal 10 is 16 in decimal. Binary uses two digits 0 and 1. In a computer a line can have power (1) or no power (0). In binary you have 0 then 1 then 10. Same thing as with the other numbering systems except now 10 is 2 in decimal. Binary increments very fast so it can get confusing. For example 56 decimal is 111000 in binary. There are formulas to convert but you should be able to figure them out.

Just remember that to do operating system programming you will need a strong computer programming background.
Here is a basic list of some of the many prerequisites:
  • Understanding of numbering systems
    Excellant knowledge of C/C++/Assembly
    Understanding of how computers work
    What all the parts of a computer do
    What an operating system does
    How OSs work
    A good strong goal
    Experiance with the Win32 API helps but POSIX should be fine (I personally have never used POSIX)
    Lots of time
    Frustration management (too much frustation! NOTHING EVER WORKS :) )
    Access of resources (such as the Os Dev Series :D )
    Patience
Make sure you are ready and have fun! :D

Post Reply