0% found this document useful (0 votes)
116 views12 pages

What Does 0x47u Mean Anyway - Stack Overflow

The document discusses the meaning of constants with suffixes like 0x47u in C code. It explains that according to C90 semantics, constants by default are signed integers, so MISRA rule 10.6 requires adding a 'U' suffix to unsigned integer constants for clarity. This brings the unsigned type into agreement between the constant and the variable it is assigned to. The document considers different ways to satisfy this rule and prefers uppercase 'U' for consistency when 'L' is also used for long types.

Uploaded by

Mohan Kumar N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
116 views12 pages

What Does 0x47u Mean Anyway - Stack Overflow

The document discusses the meaning of constants with suffixes like 0x47u in C code. It explains that according to C90 semantics, constants by default are signed integers, so MISRA rule 10.6 requires adding a 'U' suffix to unsigned integer constants for clarity. This brings the unsigned type into agreement between the constant and the variable it is assigned to. The document considers different ways to satisfy this rule and prefers uppercase 'U' for consistency when 'L' is also used for long types.

Uploaded by

Mohan Kumar N
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

Home
Home
Bloggers
PostsbyCategory
NewsletterSignup
AboutUs
ContactUs
Login

Searchfor:

SearchBlog

TheCrapCodeConundrum
Allvariablesareequal,butsomearemoreequalthanothers

Whatdoes0x47umeananyway?
Saturday,July21st,2012byNigelJones
InthelastcoupleofyearsIhavehadalargenumberoffolksenduponthisblogasaresultofsearchtermssuch
aswhatdoes0X47umean?Inanefforttomaketheirvisitmoreproductive,Illexplainandalsooffersome
thoughtsonthetopic.
Backinthemistsoftime,itwasconsideredperfectlyacceptabletowritecodethatlookslikethis:
unsignedintfoo=6;

IndeedImguessingthatjustabouteveryCtextbookouttherehasjustsuchaconstructsomewhereinitsfirst
fewchapters.Sowhatswrongwiththisyouask?Well,accordingtotheC90semantics,constantsbydefault
areoftypesignedint.Thustheabovelineofcodetakesasignedintandassignsittoanunsignedint.Nownot
somanyyearsago,mostpeoplewouldhavejustshruggedandgotonwiththetaskofchurningoutcode.
However,thefolksatMISRAlookedaskanceatthispractice(andcorrectlysoIMHO),andpromulgatedrule
10.6:
Rule10.6(required):AUsuffixshallbeappliedtoallconstantsofunsignedtype.
Nowintheworldofcomputing,unsignedtypesdontseemtocropupmuch.Howeverintheembeddedarena,
unsignedintegersareextremelycommon.IndeedIMHOyoushouldusethem.Forinformationondoingso,see
here.
ThuswhathashappenedasMISRAadoptionhasspreadthroughouttheembeddedworld,isyouarestartingto
seecodethatlookslikethis:
unsignedintfoo=6u;

Sothisbringsmetotheanswertothequestionposedinthetitlewhatdoes0x47umean?Itmeansthatitisan
unsignedhexadecimalconstantofvalue47hex=71decimal.Iftheuisomittedthenitisasigned
hexadecimalconstantofvalue47hex.

Someobservations
Youactuallyhavethreewaysthattosatisfyrule10.6.Hereareexamplesofthethreemethods.
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

1/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

unsignedintfoo=6u;
unsignedintfoo=6U;
unsignedintfoo=(unsignedint)6;

Letsdispensewiththethirdmethodfirst.Iamnotafanofcasting,mainlybecausecastingmakescodehardto
readandcaninadvertentlycoverupallsortsofcodingmistakes.Asaresult,anymethodologythatresultsin
increasedcastsincodeisabadidea.Ifthatdoesntconvinceyou,thenconsiderinitializinganunsignedarray
usingcasts:
unsignedintbar[42]={(unsignedint)89,(unsignedint)56,(unsignedint)12,...};

Theresultisalotoftypingandamesstoread.Dontdoit!
Whatthenofthefirstmethods?ShouldyouusealowercaseuoranuppercaseU.WellIhavereluctantly
comedowninfavorofusinganuppercaseU.AestheticallyIthinkthatthelowercaseuworksbetter,inthat
thelowercaseletterislessintrusiveandkeepsyoureyeonthedigits(whichafteralliswhatsreally
important).HereswhatImean:
unsignedintbar[42]={89u,56u,12u,...};
unsignedintbar[42]={89U,56U,12U,...};

SowhydoIuseuppercaseU?WellitsbecauseUisnttheonlymodifierthatonecanappendtoaninteger
constant.OnecanalsoappendanLorlmeaningthattheconstantisoftypelong.Theycanalsobe
combinedasinUL,ul,LUorlu,tosignifyanunsignedlongconstant.Theproblemisthatalowercase
llooksanawfullotlikea1inmosteditors.Thusifyouwritethis:
longbar=345l;

Isthat345Lor3451?ToreallyseewhatImean,trytheseexamplesinastandardtexteditor.Anywayasa
result,IalwaysuseuppercaseLtosignifyalongconstantandthustobeconsistentIuseanuppercaseU
forunsigned.IcouldofcourseuseuLbutthatjustlooksweirdtome.
IncidentallybaseduponthecodeIhavelookedatoverthelastdecadeorso,IdsaythatImintheminorityon
thistopic,andthatmorepeopleusethelowercaseu.Idbeinterestedtoknowwhatthereadersofthisblogdo
particularlyiftheyhaveareasonfordoingsoratherthanwhim!

ThisentrywaspostedonSaturday,July21st,2012at8:51amandisfiledunderCodingStandards,GeneralCissues.Youcanfollow
anyresponsestothisentrythroughtheRSS2.0feed.Youcanleavearesponse,ortrackbackfromyourownsite.

27ResponsestoWhatdoes0x47umeananyway?
1. JeffGrossays:
July21,2012at1:02pm
Ivebeenusingtheexactsamepracticesasyou,andfortheexactsamereasons!Wereinperfect
agreement,sokeeppreachingthetruthtoallthoseheathensoutthere!=p
Reply
2. MiroSameksays:
July21,2012at1:29pm
TheMISRAC:2004,Rule10.6(required)says:AUsufficshallbeappliedtoallconstantsofunsigned
type.
PleasenotethatspecificallytheuppercaseUisusedinthisruleandthewholedocumentconsistently
usesonlytheuppercaseUsuffixinallexamples(andneverthelowercasesuffix).
EventhoughthereisnoruleabouttheLsuffix,theMISRAC:2004documentusesconsistentlyonly
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

2/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

theuppercaseLandneverthelowercasel.WhentheUandLsuffixesarecombined,all
MISRAC:2004examplesusetheULorder.
see:MISRAC:2004GuidelinesfortheUseoftheClanguageinCriticalSystems,MISRA,October
2004,
ISBN:9780952415626paperback
ISBN:9780952415640PDF
Reply
NigelJonessays:
July21,2012at2:22pm
Yes.HowevertheMISRAcheckersIhaveusedalltreatupperandlowercaseasequally
acceptable.Itisuncleartomefromthewordingwhetherlowercaseudoesmeettheconsortiums
intent.LookingthroughtheforumsIhaveseenMISRAspositionthatcastingisalsoacceptable.
Reply
MiroSameksays:
July26,2012at10:13am
Theissueofcastinginnumericalconstantsisveryinterestingandimportant.Frankly,Ifind
myselfstrugglingwithMISRAcompliance,andevenmorewiththestrongtyping
complianceofPCLint.Iendedupconstantlycastingnumericalconstants.Forexample,how
doyoudefineazerovaluethatisspecificallyuint8_t?InC,thisistheuglycast(uint8_t)0,
butinC++itisevenuglierstatic_cast(0).
So,howdoyouhandlethismess?Perhapsanotherpost?
Reply
NigelJonessays:
July26,2012at11:01am
Itisatoughissue.IngeneralmyapproachistoavoidcastingasIthink(Iknow!)it
createsmoreproblemsthanitsolves.ThuswhenImassigningconstantstoauint8_tI
simplyappendaUanddontworryaboutthelengthperse.ThereasonIdothisis
whenIinadvertentlytrytoassigntoolargeanumbertoauint8_t.Forexampleuint8_t
foo=347U.ThankfullymostcompilersandLintquiterightlycomplain.HoweverifI
useacast,uint8_tfoo=(uint8_t)347thenintoomanycasesthecompilerjustshrugs
andsaysOKandgivesmethewronganswer.ThusImoftheopinionthatthecureis
worsethanthediseaseinthiscase.
Reply
BobPaddocksays:
July26,2012at8:02pm
ThereisalsothisadviceontheMISRABulletinBoardaboutunsignedzeros:
http://www.misra.org.uk/forum/viewtopic.php?f=66&t=1044&p=2033#p2033
Rule10.1addressesadifferentissue.Itdemands,amongotherthings,thatanexpressionwhichis
assignedtoanunsignedvariableshoulditselfbeunsigned.Thismeansthatanyconstantorconstant
expressionshoulditselfbeofunsignedtypeincludingtheconstant0.Therationalebehind
thisisthatitishelpfultomaintainconsistentsignednesswhenconstructingarithmeticexpressions,
eveniftheomissionofaUsuffixmakesnodifferencetotheresult.
Reply
Lundinsays:
August13,2012at6:08am
InthenewMISRA2012draft,itlookslikethelsuffixwillbebanned,sinceitlookslikeaoneon
somefonts.SoitisgoodpracticetouseLifyouareconcernedaboutfutureMISRAcompliance.
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

3/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

PersonallyIavoidtheuppercaseU,becauseitmakeshexliteralslookstrange,withsomecomic
potential.0xBULL,0xDULL,0xFULL
Reply
3. Anonymoussays:
July23,2012at4:37am
OKNigel,canyouhelpmesortthisoneout?
typedefunsignedlonglongu64/*letsestablishthatwemean64bitintsirrespectiveofthecompiler*/
u64fred=(u64)123456789012
Ihaventattemptedtoworkoutwhatthestandardsays,butinmyfearandignoranceIcanseethe
compilerlookingatthedigitsandattemptingtoturnthemintoasystemsignedint(whichwillnormallty
be32bitsatmost.thenSUSEQUENTLYconvertingthattoanunsigned64bitvalue.
Clearlythatprocesswillnotgiveuswhatwewant,sinceitwillfailinthefirststage.Theonlywayit
givesuswhatwehopeisifthecastinfluencestheprocessingoftheliteral.Icanseethatwouldbethe
rightwayforittowork,butIvenoideaifitdoes.
Nowifthatsright,itrulesouttheuseofcastsinSOMEcircumstances,whichtomymindmeansitrules
themoutinALL,sinceweneedconsistency.
SOifthatmeanswehavetouseliteralswithLorLLontheend,ImnowfacedwiththeissuethatI
dontknow,acrossallcompilers,whattheymean.AnLcanmean32bitsor64or,welleven16oncome
toyC.
Iassumethatthisisobvioustoanyoneserious.IknowC99addressessomeofthisstuff,butdoesC99
includeawaytorepresentnumericliteralswhichguaranteetheirinterpretationasaparticularnumberof
bits?
DoesMISRAhaveanythinghelpfultosayaboutthisarea?
Reply
JrgSeebohnsays:
July23,2012at11:31am
Thedraftc11standardsays:

6.4.4.1Integerconstants

5Thetypeofanintegerconstantisthefirstofthecorrespondinglistinwhichitsvaluecan
berepresented.(listisomitted)
6Ifanintegerconstantcannotberepresentedbyanytypeinitslist,itmayhavean
extendedintegertype,iftheextendedintegertypecanrepresentitsvalue.

So((uint64_t)0x1122334455667788)worksasexpectedcauseafter6.4.4.1.5thetypeof
0x1122334455667788isatleastoftypeint64_t(orextended)ifthecompilersupports64bits
andcastingfromfromint64_ttouint64_tissafe.
Reply
Lundinsays:
August13,2012at6:13am
Ifyouusenotsuffixnortypecasts,theCcompilerwilldothis:
Doestheintegerliteralfitina(signed)int?
Ifnot,doesitfitinanunsignedint?
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

4/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

Ifnot,doesitfitinasignedlong?
Ifnot,doesitfitinaunsignedlong?
Andsoon.ThisiswelldefinedevenonoldC90compilers.
Reply
4. davidcolliersays:
July25,2012at4:57am
ThanksJrg,
WhichmakesmewonderwhywedbotherappendingULLtothethingever.
Butitdoesmeanitwontfallinaheap,andwillretainthesignificantbitsformetocastittosomething
else.
TVM
David
Reply
Lundinsays:
August13,2012at6:27am
Assumethatintis16bitsandlong32bits.Ifyoudontuseanyliteralsuffixandwritecodelike
this:
longi=INT_MAX+1
thenyouwillgetaweirdnegativenumbereventhoughlongislargeenoughtoholdanyintresult.
ThisisbecauseINT_MAXisasignedint(definedas0x7FFFinlimits.h)and1isasignedint.
Bothoperandsareofthesametype,sonoimplicitconversionsareneeded.Theresultwillbein
typeint,whichwilloverflow,thenthatresultisstoredinsidealong.
1Uor1Lor1ULwouldhavepreventedthatbug,asitwouldhaveenforcedanimplicittype
promotionoftheotheroperand(throughbalancing,akatheusualarithmeticconversions).
Reply
5. justinxsays:
July27,2012at10:53pm
Outofinterestwhataboutthe[U]INT[N]_Cmacros?Wouldnttheybethecorrecttoolstousewhen
declaringamanifestconstantorwhenassigninganumericalconstanttoavariablei.e.:
#defineMYCONSTANTUINT16_C(65532U)
or
uint16_tconstmyconstant=UINT16(65532U)
Thisavoidsthepitfallsofcastingandalsomeansfromoneplatformtothenexttheengineerdoesnot
havetoworryaboutthesizeofaU,L,UL,ULLetcchanging..
Reply
EricMillersays:
August4,2012at5:52am
justinx,
IwasthinkingthesamethingasIreadthroughthecomments.
TheonlythingIdchangefromyourexampleisthatIddroptheUattheendoftheconstants.
ThetwocompilersIusemostfrequentlydifferintheirimplementationsofUINT16_C():
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

5/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

#defineUINT16_C(c)c
#defineUINT16_C(x)(x##u)
SoifyousayUINT16_C(123U),thecompilermayexpanditto123Uu(withaninvalid
doubleUsuffix).
JrgsJuly23commentdescribeswhyitssafetodroptheU.
Reply
Lundinsays:
August13,2012at6:37am
IneverusethosemacrosbutIbelievethattheywouldactuallybeincorrect,sinceaccordingtothe
standard(C117.20.4.1),theyexpandintoint_leastN_t.Soinyourcase,themacrowouldbe
equivalentto:
uint16_tconstmyconstant=(uint_least16_t)65532U
Whichdoesntsolveanything,butpotentiallycreatesbugsiftheconstantfitsinuint_least16_tbut
notinuint16_t.
Reply
EricMillersays:
September8,2012at1:42am
TheexactwidthuintN_ttypesareoptional.Theyreonlyavailableonmachinesthatsupport
integersofwidthNwithnopadding.
Theminimumwidthuint_leastN_ttypesarerequired,butcancontainpadding.
Ifasystemsupportsuint16_t,uint_least16_twillhavethesamerepresentationasuint16_t,so
theproblemLundindescribes(constantfitsinuint_least16_tbutnotinuint16_t)is
impossiblebydefinition.
Reply
6. kalpakdabirsays:
August29,2012at8:47am
HavenotunderstoodtheimpactofnotusingU(oru).
Withreferencetothefollowing
uint8_tsome_var=6
whatwillgetloadedinthevariablesome_var?
IfmyLHSisclearlyindicatingthatthevariableisunsignedandofthesizeof8bits,thenwhatcan
happenduetothemissingU/u?
Reply
NigelJonessays:
August30,2012at6:36am
Inthiscase,notmuch.IthinkMISRAsconcernismorewithconstantsinexpressions.Howeverto
beconsistenttheyrequirethatallunsignedconstantsareappendedwithaU.
Reply
7. jeroenboonensays:
November13,2012at5:52am
Wealwaysusecastsforconstants,exceptforarrayindexingandthevalue0.
Soitisalwaysclearwhatthewantedtypeis.Inthepastweusedalsouandul,butisul(unsignedlong),
whatislong?16bit,32bitor64bit
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

6/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

e.g.:
Unsigned64fr=(Unsigned64)0x12345678AABBCCDD
d=(Float32)2*x+(Float32)12*y+(Float32)3
Alsoweneveruseint,long,short,inourcode,becauseitiscompilerdependent.Weuse:
typedefunsignedcharBoolean
typedefunsignedcharUnsigned8
typedefunsignedshortUnsigned16
typedefunsignedlongUnsigned32
typedefunsignedlonglongUnsigned32
IloveC,butforthistopicADAisthewaytogo
Reply
8. ScottWhitneysays:
November13,2012at11:03am
Nigel,itappearsthatPCLintisreallypickyabouttheMISRArules,andwillcomplainaboutthelower
caseu,soIhavegotteninthepracticeofusingtheuppercaseU.Itgetsalittlemessierwhenwestart
workingwith3rdpartycodesuchasaparticularOSkernel,whichdefinesitsconstantswiththelower
caseuthenwehavetostartsuppressingwarningsthere,too,ortreattheentirekernelasifitslibrary
code.
Forexample,Micriumhas
#defineOS_ERR_NONE0u
andIhavetouse//lintesym(1960,2134)incodethatcheckstomakesurethatthereturnederrorcode
isOS_ERR_NONE.
Hopethishelpssomeoneelse!
Scott
Reply
NigelJonessays:
November14,2012at5:29am
Thanksforthetip.
Reply
9. Clarksays:
February2,2013at12:46pm
Somewhatarbitrarily,andforreasonsunknown,Iuseuforunsigned,butLforlong.Iguessitwas
justsomethingthatIpickedupfrommytrainingandbooks(differentbooks,differentauthors,etc.).
Kindalikethewaysomepeoplesayalls.Iguesstheythinkallmeanseverything,andtheextras
makesitallencompassing.Thatisahugepetpeeveofmine.IguesstheuppercaseLmakesitstronger,
moreallencompassing
Reply
10. Jerrysays:
December4,2014at4:16am
0x47udoesntseemtobeofmuchuseinthefirstplace,giventhatwhiledecimalrepresentednumerical
constantsaresignedbydefault,nondecimalrepresented(i.e.octalrepresentedorhexadecimal
represented)areUNsignedbydefault.Onecaneasilyverifythatbyobservingthattheexpressions
0x80000000>0x7FFFFFFF
020000000000>017777777777
bothevaluatetoTRUE(theyclearlywouldevaluatetoFALSEifhexconstantsweresigned).Thusly,
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

7/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

whiletheusuffixisusefulfordecimalintconstants,itiscompletelysuperfluousforoctalandhexones.
Reply
NigelJonessays:
December5,2014at11:50am
Iagree.HoweverIneverputaUonahexadecimalconstantuntilIhadtowritecodethatwas
MISRAcompliant.IranthecodethroughtwoseparatecheckersandbothcomplainedabouttheU
missingonhexadecimalconstants.SincethenIdoit.
Reply
Jerrysays:
December19,2014at8:06pm
Interestinglyenough,itactuallyturnsoutthatmyabovestatementwasincorrect(thereforeI
oweanapologyandhopenottohavemisledanyone).
Asamatteroffact,hexandoctalconstantswhichfitintothe(signedint)range(suchas
0x7FFFFFFF)areof(signedint)type.Ahexoroctalconstanthasthetype(unsignedint)
onlyifthepositivenumberitrepresentsexceedstherangeof(signedint),whichisthecase
with0x80000000.Awaytoverifytheactualtypeofanumericalconstantistotrytoassignit
oddishly(sucheastoapointertypevariablewithoutanexplicitcast),theresultingcompiler
warningwillrevealtheconstantstype.
Theconfusionwhichhasevensomearguablyautoritativesources*believehexandoctal
representedintegerconstantswerealwaysofasignedtypemaystemfromthefactthatthey
areneverinterpretedasnegativenumbersifwehaveahexoroctalconstantwhich_could_
representanegativenumber(i.e.withthemostsignificantbitset),itisstillconsidered
positive,andofunsignedtypesothatpositivevaluecanfit.
Thusly:
0x7FFFFFFFu
makessense,becausewithouttheusuffixtheconstantwouldbeoftype(signedint),while
in
ox80000000u
theusuffixissuperfluousinthattheconstantwouldbeoftype(unsignedint)withoutit
anyway.Further,wecancomeupwithanexampleuseforthesignedkeyword(whichis
sometimesassumedtobeentirelyuseless)namely,aswedonthaveasuffixtospecifya
signedtype,wecanonlydosobythemeansofanexplicitcast,soforaconstantsuchas
0x80000000tobeofstrictlysignedtypeweneedtouse
(signed)0x80000000
__
*inStephenPratasCPrimerPlus,5thed.,theanswerstothechapter3reviewquestions
claimtheconstants0xAA,0x3,012,and0x44tobeoftype(unsignedint),which,asperthe
above,theyreallyarent.
Reply
Jerrysays:
December19,2014at8:16pm
Correctiontotheabovepost:()somearguablyautoritativesources*believehex
andoctalrepresentedintegerconstantswerealwaysofasignedtype()obviously
foranyonefollowingalong(Ithink),thatsentenceshouldsayunsignedtyperather
thansignedtype,astheformeriswhatsomesources(incorrectly)believe(asIdid
toountiljustrecently),andwhichisthewholepointofthepost.Whew.
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

8/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

Reply
11. Jerrysays:
December4,2014at4:41am
Also,ifonewanttogetanalabouttypestothepointofconsidering
unsignedinti=6
incorrect,thenonewouldhavetoconsider
charc=a'
asincorrectaswell(becausecharacterconstantsarereallyoftypesignedint)andwouldhavetowrite
charc=(char)a'
instead.HonestlyIcannotsayIhaveseenthisdoneanywhere.
Reply

LeaveaReply
Name
Mail(willnotbepublished)
Website

SubmitComment

StackOverflow
NigelJones
NigelJonesisanembeddedsystemsconsultantwithover20yearsofexperiencedesigning
electroniccircuitsandfirmware.(fullbio)

Pages
ContactNigel

Links
ArticlesonEmbeddedSystems
EmbeddedCCodingStandard
EmbeddedSoftwareTraininginaBox
EmbeddedSystemsDesign,Consulting,andExpertWitnessServices
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

9/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

MyLinkedInProfile

RecentPosts
BoeingDreamlinerBug
Freescalecustomerservice
Firmalware
ShiftingStyles
Theengineeringmarketingdivide
Replacingnestedswitcheswithmultidimensionalarraysofpointerstofunctions
Idlingalong,(orwhattodointheidletask)
Whatsinyourmain()header?
Realworldvariables
2012ExplainedToyota

RecentComments
SteveonEfficientCTips#7Fastloops
SteveonEfficientCTips#7Fastloops
UfukDALLIonEfficientCTips#8Useconst
NigelJonesonTheabsolutetruthaboutabs()
NigelJonesonEfficientCTips#8Useconst

Categories
Algorithms(13)
CodingStandards(23)
Compilers/Tools(25)
Consulting(14)
EffectiveC/C++(13)
EfficientC/C++(19)
FirmwareBugs(12)
GeneralCissues(49)
Hardware(21)
LowPowerDesign(7)
Minimizingmemoryconsumption(3)
Publications(12)
RTOSMultithreading(2)
Uncategorized(32)

Archives
May2015(1)
March2015(1)
February2015(1)
November2014(1)
April2014(1)
March2014(1)
April2013(1)
February2013(1)
January2013(1)
December2012(1)
July2012(2)
June2012(2)
March2012(1)
February2012(2)
http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

10/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

December2011(2)
September2011(2)
August2011(1)
June2011(1)
May2011(1)
March2011(1)
February2011(4)
January2011(1)
December2010(2)
November2010(3)
October2010(2)
September2010(2)
August2010(8)
June2010(2)
May2010(2)
April2010(1)
March2010(3)
February2010(4)
January2010(2)
December2009(18)
November2009(3)
October2009(7)
September2009(8)
August2009(4)
July2009(4)
June2009(4)
May2009(4)
April2009(5)
March2009(5)
February2009(6)
January2009(4)
December2008(3)
November2008(3)
October2008(1)
September2008(2)
August2008(3)
July2008(1)
June2008(3)
May2008(2)
April2008(1)
February2008(1)
January2008(3)
August2007(2)
July2007(1)
June2007(2)
May2007(2)
April2007(1)
March2007(1)
December2006(3)
November2006(2)
October2006(2)
September2006(5)

Tags

AVR

BitfieldsbootstraploadingCodingStandardsCompilerscorrosionCPUselectionCTestdevelopmentcostsEEPROMethicsflagsFRAM

IARIndependentcontractorKeilLEDLintLookuptableLUTMedianfiltermemorymemory

GCCholdingcurrentI2C

http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

11/12

8/5/2015

Whatdoes0x47umeananyway?StackOverflow

consumptionMicrochipMISRAMSP430optimizationparameterpassingPCLintPICprintfprototypes
PWMRelaysRowleysignedtaxcodeunsignedvariablenamingvolatilevoltagegradientWindows
EmbeddedGurusExpertsonEmbeddedSoftware
websitebyAccentInteractive

http://embeddedgurus.com/stackoverflow/2012/07/whatdoes0x47umeananyway/

12/12

You might also like