기능 hex() 에서는 Perl

에서는 Perl 프로그래밍 언어가 내장된 기능 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".

관련 주제

다른 기사