首页 > 编程语言 >Perl学习笔记6_进制转换

Perl学习笔记6_进制转换

时间:2023-07-15 18:13:28浏览次数:33  
标签:10 进制 笔记 Perl sprintf print my oct

目录

1. 使用sprintf, printf

1.1: 10进制 -> 非10进制

my $num = 10;
my $s_hex_low = sprintf "%04x", $num; # 000a, 10进制->16进制小写
my $s_hex_high= sprintf "%04X", $num; # 000A, 10进制->16进制大写
my $s_oct     = sprintf "%04o", $num; # 0012, 10进制->8进制
my $s_bin     = sprintf "%04b", $num; # 1010, 10进制->2进制

#print("$s_hex_low\n");
#print("$s_hex_high\n");
#print("$s_oct\n");
#print("$s_bin\n");

1.2: 非10进制 -> 10进制

my $n_hex = 0x10; # 16进制数
my $n_oct = 010 ; # 8进制数
my $n_bin = 0b10; # 2进制数

my $s_hex2dec = sprintf "%04d", $n_hex; # 0016, 16进制->10进制
my $s_oct2dec = sprintf "%04d", $n_oct; # 0008,  8进制->10进制
my $s_bin2dec = sprintf "%04d", $n_bin; # 0002,  2进制->10进制

#print("$s_hex2dec\n");
#print("$s_oct2dec\n");
#print("$s_bin2dec\n");

2. 使用函数oct, hex

2.1 非10进制->10进制

my $s = "0010";
my $n_hex2dec = oct("0x".$s); # 16, 16进制->10进制
my $n_oct2dec = oct("0" .$s); #  8,  8进制->10进制
my $n_bin2dec = oct("0b".$s); #  2,  2进制->10进制

#print("$n_hex2dec\n");
#print("$n_oct2dec\n");
#print("$n_bin2dec\n");

print oct(10); # 8,  8进制->10进制
print hex(10); #16, 16进制->10进制

标签:10,进制,笔记,Perl,sprintf,print,my,oct
From: https://www.cnblogs.com/gaiqingfeng/p/17556617.html

相关文章

  • Perl学习笔记5_命令行选项
    目录1.Getopt::Long2.Getopt::Std1.Getopt::Long#使用模块useGetopt::Long;#选项初始值my$length=24;my$file="file.dat";my@run=();my$verbose=0;#处理选项#如果参数解析成功,$result=1,#如果参数解析失败(有未知选项或不符合要求),$result=0......
  • 后缀数组学习笔记
    后缀数组是什么后缀数组就是主要处理字符串后缀问题的,它的实现算法主要有两种:倍增法和DC3,复杂度分别是\(O(n\logn)\)和\(O(n)\)。这里由于DC3代码答辩且难以理解,我就只写了倍增法的实现。例题引入P3809【模板】后缀排序题目大意读入一个长度为\(n\)的由大小写英文......
  • Perl学习笔记3_条件语句循环
    1.条件语句:if(boolean_expr0){#expr0为true时执行}elsif(boolean_expr1){#expr1为true时执行}else{#没条件匹配时执行}unless(boolean_expr0){#expr0为false时执行}elsif(boolean_expr1){#expr1为true时执行}else{#没......
  • Perl学习笔记4_命令行运行perl语句
    命令行选项例子:catfile.txt|perl-ne'$a+=s/pattern//g;END{print"$a\n"}'作用:计算文件file.txt中匹配“pattern”的个数。解释:1.cat显示文件内容,通过管道将内容送给perl程序处理;如果使用perl-e''file.txt的方式,file.txt将会被修改。使用管道,可以保证原文件......
  • Perl学习笔记2_标量数组哈希
    1.概述Perl是弱类型语言,变量不需要指定类型,解释器根据上下文自动选择匹配类型.Perl有三个基本的数据类型:标量($),数组(@),哈希(%).2.标量,scalar标量变量以$标记.my$a=123;#数字my$b="123";#字符串my$c=0x1F;#16进制my$d=047;#8进制my$e......
  • 字符串算法入门笔记
    zhx:什么AC自动机,KMP算法从来不会考zhx:不推荐用string,因为麻烦读ans入一个字符串chars[MAXN];cin>>s+1;//从s[1]开始读入,操作时方便在遍历字符串时,我们要先把字符串长度存下来,因为计算字符串长度的函数strlen的时间复杂度为\(O(长度)\),如果写成for(inti=1;i<=strlen(s+......
  • 数据结构练习笔记——输出单链表倒数第k个元素
    输出单链表倒数第k个元素【问题描述】已知带头结点的非空单链表中存放着若干整数,请找出该链表中倒数第k个元素。【输入形式】第一行:单链表中元素个数m,第二行:单链表中的m个整数,第三行:k值【输出形式】倒数第k个元素的值(不存在倒数第k个元素输出"no")【样例1】输入:5132450......
  • 计算机中的数制与编码(二进制转换)
    一、进制表示1.十进制表示使用(0,1,2,...,9)十位数字表示,十进制运算时逢十进一。2.二进制表示使用(0,1)两个数字表示,二进制运算时逢二进一。3.十六进制表示使用数字和符号(0-9,A-F)表示,十六进制运算时逢十六进一。对于任意进制数的表示N,我们把数字k在N中的位置称为序号,用i表示(序......
  • 【转】Docker入门笔记04:三大核心概念
    原文:https://zhuanlan.zhihu.com/p/312142777Docker的三大核心概念镜像Image容器Container仓库RepositoryDocker大部分的操作都围绕它的三大核心概念一、Docker镜像Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的用于创建容器的模板。例如,一个镜像可以包含一个基......
  • 【转】Docker入门笔记01:Docker容器技术的发展历程
    原文:https://zhuanlan.zhihu.com/p/304623118最近因为工作需要,要学习一些基本的Docker知识,所以整理了一些docker的入门知识,感兴趣的小白可以看看,一起学习进步。要学习一个新的东西,我的习惯一般是先了解它是什么,它是怎么来的,发展历史是怎样的,用来解决什么问题,有什么优缺点。所以......