समारोह hex() पर्ल में

में पर्ल प्रोग्रामिंग भाषा में बनाया गया है एक समारोह hex().

समारोह hex() धर्मान्तरित एक नंबर से हेक्साडेसिमल स्वरूप दशमलव के लिए.

यहाँ एक उदाहरण है:

▶ Run
#!/usr/bin/perl

print hex('0xFF');

कार्यक्रम प्रदर्शित करेगा 255.

तर्क

यदि इस समारोह hex नहीं दिया कोई तर्क, फ़ंक्शन के साथ काम करता है डिफ़ॉल्ट चर $_:

▶ Run
#!/usr/bin/perl

$_ = '0x100';

print hex(); # 256

उस मामले में यदि चर $_ है undef और इस्तेमाल किया use warnings;, होगा चेतावनी:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

my $dec = hex();
Use of uninitialized value $_ in hex at script.pl line 6.

मानक का उपयोग कर hex() के पास है, यह एक ही तर्क है ।

यदि हस्तांतरण समारोह hex() के एक से अधिक तर्क है, यह एक त्रुटि हो जाएगा और कोड का निष्पादन बंद कर दिया जाएगा ।

Too many arguments for hex at script.pl line 3, near "2)"
Execution of script.pl aborted due to compilation errors.

अगर आप की जरूरत है परिवर्तित करने के लिए और मूल्यों का उपयोग कर सकते हैं map:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my @hex = ('0xA', '0xB', '0x11');

my @dec = map { hex } @hex;

warn Dumper \@dec;

स्ट्रिंग के साथ शुरू कर सकते हैं 0x, लेकिन जरूरी नहीं है. केस-संवेदनशील मूल्यों को नहीं कर रहे हैं है.

यहाँ कुछ उदाहरण हैं. इस उदाहरण में, सभी कॉल करने के लिए समारोह hex()की वापसी एक ही मूल्य के नंबर 2748.

▶ Run
#!/usr/bin/perl

use strict;
use warnings;
use feature qw(say);

say hex('0xABC');
say hex('0XABC');
say hex('0xabc');
say hex('XABC');
say hex('xABC');
say hex('abc');
say hex('AbC');

एक समारोह में काम नहीं कर सकते हैं के साथ आंशिक हेक्साडेसिमल संख्या है. जब आप का प्रयास करें कन्वर्ट करने के लिए इस तरह के की संख्या को चेतावनी:

▶ Run
#!/usr/bin/perl

use strict;
use warnings;

print hex('0x10.8');
Illegal hexadecimal digit '.' ignored at script.pl line 6.
16

वापसी मान

समारोह hex() हमेशा एक नंबर देता है.

सरकारी दस्तावेज

यहाँ उत्पादन के आदेश perldoc -f hex:

    hex EXPR
    hex     Interprets EXPR as a hex string and returns the corresponding
            numeric value. If EXPR is omitted, uses $_.

                print hex '0xAf'; # prints '175'
                print hex 'aF';   # same
                $valid_input =~ /\A(?:0?[xX])?(?:_?[0-9a-fA-F])*\z/

            A hex string consists of hex digits and an optional "0x" or "x"
            prefix. Each hex digit may be preceded by a single underscore,
            which will be ignored. Any other character triggers a warning
            and causes the rest of the string to be ignored (even leading
            whitespace, unlike "oct"). Only integers can be represented, and
            integer overflow triggers a warning.

            To convert strings that might start with any of 0, "0x", or
            "0b", see "oct". To present something as hex, look into
            "printf", "sprintf", and "unpack".

संबंधित विषयों

अन्य लेख