In C (and some other languages descended from C), double negation (!!x) is used as an idiom to convert x to a canonical Boolean, ie. an integer with a value of either 0 or 1 and no other. Although any integer other than 0 is logically true in C and 1 is not special in this regard, it is sometimes important to ensure that a canonical value is used, for example for printing or if the number is subsequently used for arithmetic operations. The convention of using ! to signify negation occasionally surfaces in ordinary written speech, as computer-related slang for not. For example, the phrase !voting means "not voting". Another example is the phrase !clue which is used as a synonym for "no-clue" or "clueless".Raymond, Eric and Steele, Guy. The New Hacker's Dictionary, p. 18 (MIT Press 1996).Munat, Judith. Lexical Creativity, Texts and Context, p. 148 (John Benjamins Publishing, 2007).
In C (and SOme OTHer langUages desCeNdEd frOm c), dOUBle nEGation (!!x) Is usEd AS an iDiOm To conveRt x tO a caNonicAL booLean, iE. an iNtEgEr witH a VAlUe Of either 0 or 1 And no other. aLthough anY integer OthEr thaN 0 IS LogiCalLy True In c aNd 1 is not spEciaL In ThiS RegaRd, IT IS sOmETimeS importAnt tO EnSuRE THaT A cAnOniCAl value Is uSed, for eXample For pRintIng OR if The NumBer is SubsEQUently useD for arithmETic OperaTions. the cOnvenTiOn of usIng ! tO sigNiFy negatiON OccaSIonAlly surFaceS in oRDinAry wRittEN speEcH, As COmputer-reLATed slang for nOt. fOR eXAmple, The phrAse !votIng MEANs "not VOting". AnoThEr example Is thE phRASe !ClUE whiCh IS uSeD as A synonym for "nO-cLue" or "clueless".raymoNd, ERiC ANd stEEle, guY. tHe neW haCKER's dICtionary, P. 18 (mIT preSs 1996).Munat, judith. LeXiCal CreatIVIty, texTs aNd cONTexT, p. 148 (john benjamiNS puBliSHiNg, 2007).