jackchaos Posted November 9, 2006 Report Share Posted November 9, 2006 What is the difference of writing this:MIOS_MIDI_TxBufferPut(0x06)and this:MIOS_MIDI_TxBufferPut(6)I notice this in looking at other peoples source that hex and decimal notation is used interchangably.P.S.I have 80% of my hardware completed and mounted in 2 cardboard boxes so I have something to write software to before I decide on the front panel design.It's very exciting to see my project come together and even more so when I can almost tweak every audible characteristic of the matrix sounds with my knobby programmer.I've ordered some more parts from SmashTV and those will allow me to complete the 5 point tracking/reshaper, ramps and portamento section of the front panel.I've also ordered a larger LCD (2x20) which I havn't added yet which is part of the final electronic component, the programmer section. Quote Link to comment Share on other sites More sharing options...
bill Posted November 9, 2006 Report Share Posted November 9, 2006 there are no difference between MIOS_MIDI_TxBufferPut(0x06) and MIOS_MIDI_TxBufferPut(6)but there' is a big one with MIOS_MIDI_TxBufferPut(0x10) and MIOS_MIDI_TxBufferPut(10)0xValue Mean hexadecimal value.The value 'alone' mean it's a decimal value. Quote Link to comment Share on other sites More sharing options...
jackchaos Posted November 9, 2006 Author Report Share Posted November 9, 2006 but there' is a big one with MIOS_MIDI_TxBufferPut(0x10) and MIOS_MIDI_TxBufferPut(10)I understand that. But does it matter if I pass a decimal or a hex? Quote Link to comment Share on other sites More sharing options...
audiocommander Posted November 9, 2006 Report Share Posted November 9, 2006 0x10 has the decimal value of 16 ( 0x10 = (2*8 + 1*0) ) ;) <edit> see below! Seppoman explains it right, and I'm the one who gets an F in his Math Exam... like always :-[ </edit>hex gets counted from 0 to 7 15 (as the name implies),decimal from 0 to 9 (dito)...as the computer treats all numbers in the last instance as binaries (0 or 1), it's upon you what makes more sense to use...eg. channel calculations are a lot easier to implement in hex than in dec.See http://www.midibox.org/dokuwiki/doku.php?id=midi_specificationRegards,Michael Quote Link to comment Share on other sites More sharing options...
seppoman Posted November 11, 2006 Report Share Posted November 11, 2006 Hi Michael,0x10 has the decimal value of 16 ( 0x10 = (2*8 + 1*0) ) ;)hex gets counted from 0 to 7 (as the name implies),I´m sorry, but this is not correct. Hex gets counted from 0 to 15 - as the name implies, because the full name is "hexadecimal" which means 16. From 0 to 7 would be the octal system which is not used in programming (or nearly anywhere else ;) ).About hex to decimal conversion: Just as decimal e.g. 25 means 2*10 + 5*1, hex 0x10 means 1*16 + 0*1. The digits from right to left in all systems mean (number * (base to the power of the digit )) - the digit is counted from 0. So with hex it is digit: ... 3 2 1 0 power : ... 16^3 16^2 16^1 16^0 equals: ... 4096 255 16 1 so e.g. a 4 digit hex value of 0x3A20 means (3*4096 + 10*255 (A hex=10 dec) + 2*16 + 0*1) = 14870 :)The reason why hex is often used in programming is that it converts quite nicely to binary. Each binary "Nibble", that is 4 bit, is represented by one hex digit, that´s because 4 digits binary also represent numbers from 0 to 15. So you can calculate the binary value of large hex numbers in your head and don´t have to use a calculator all the time.Greetings from Nerd-Land :)Seppoman Quote Link to comment Share on other sites More sharing options...
audiocommander Posted November 11, 2006 Report Share Posted November 11, 2006 of course!Thank you for correcting this :) maybe I've been so in hurry, that I divided everything /2 ;Dsorry for this misinformation; I cannot explain why I wrote that, 'cause in principle I should know it (heck I even use it all the time 0xf :doh!: )Cheers!Michael Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.