'c' as a pack template is related to signed characters, range -128 to 127. 'C' is the same for unsigned characters, range 0 to 255. Your hex number is 220, which is not in range for the signed numbers...

So your unsigned number is wrapped so it fits into a signed bytes, completely in agreement with the rules of 2's complement. The lower 8 bits are the same, but the additional higher bits are thusly chosen so the resulting number is in range: that number is -36.

print unpack 'c', pack 'C', 220;

Don't use the 'c' template if you don't plan on using signed numbers. Use 'C'.


In reply to Re: What is this warning? 'Character in ''c'' format wrapped at ...' by bart
in thread What is this warning? 'Character in ''c'' format wrapped at ...' by John M. Dlugosz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.