社区
脚本语言
帖子详情
请问在perl中如何将一个天文十进制数转换为16进制数
ljmat427
2007-04-20 02:13:15
比如我有一个十进制数为 220能正常转换为16进制数,但如果这个十进制数很大像5643797816937730 就不能正确转换为16进制数,请教高手有什么办法能将这这样的十进制数转换为16进制数吗?
...全文
904
7
打赏
收藏
请问在perl中如何将一个天文十进制数转换为16进制数
比如我有一个十进制数为 220能正常转换为16进制数,但如果这个十进制数很大像5643797816937730 就不能正确转换为16进制数,请教高手有什么办法能将这这样的十进制数转换为16进制数吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iambic
2007-04-21
打赏
举报
回复
use strict;
use Math::BigInt;
my $big = '56437978169377301';
my $x = Math::BigInt->new($big);;
print $x->as_hex();
现在OK了。数字要加引号。
ljmat427
2007-04-21
打赏
举报
回复
在lib目录下发现使用 bigint和bignum都能得到正确的结果,
使用Math::BigInt不行,我觉得应该是执行下面这个方法时也只能转换满足少于17长度的十进制数据
my $x = Math::BigInt->new($big);
xyzxyz1111
2007-04-21
打赏
举报
回复
我认为并非Math::BigInt->new方法不能转换超过17位的整数,而是传入的参数只是一个普通的整数,被perl解释器截断了.
ljmat427
2007-04-21
打赏
举报
回复
56437978169377301
对于这个长度为17的十进制数据,用Math::BigInt和 使用bignum包中as_hex()所得到结果不一样。
Math::BigInt 转换为十六进制的值为:0xc8820ac8a08214
bignum包中as_hex() 转换为十六进制的值为:0xc8820ac8a08215
很明显使用Math::BigInt方法不能转换长度超过16的十进制数据
xyzxyz1111
2007-04-21
打赏
举报
回复
Math::BigInt有16位的限制吗?
use bignum;
$a= 564234242489278132329299623462424234994342924324341234423448;
print $a->as_hex()."\n";
ljmat427
2007-04-21
打赏
举报
回复
谢谢楼上的,但是Math::BigInt这个方法也只能转换长度为16位的十进制的值,如果为16位以后像95643797816937730这样长度超过16位的转换后的值不是正确的。请问一下还有更好的方法吗?谢谢
iambic
2007-04-20
打赏
举报
回复
use strict;
use Math::BigInt;
my $big = 5643797816937730;
my $x = Math::BigInt->new($big);;
print $x->as_hex();
go
数
据库mysql与redis
MySQL 为关系型
数
据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念,
一个
关系型
数
据库由
一个
或
数
个表格组成, 如图所示的
一个
表格: 表头(header): 每一列的名称; 列...
linux下的经典软件总结
Linux下的经典软件(史上最全) Linux下的经典软件(史上最全) ...从2012年接触Linux系统以来就被Linux系统所吸引,2个月后...在这些系统
中
又尝试了很多种软件,这里根据自己的使用经验并结合网上的一些资料,对Linu
Lisp真的是屠龙之技吗?
对Lisp的学习有一段时间了,Lisp这门50多年的语言在天朝这样
一个
浮躁的环境里面的确生存空间极小,除了有名的伞哥现在从事Common Lisp的开发工作之外,其他没有听说过几个。51job和智联以Lisp为关键字搜素,相关职位...
python笔记
l Python 是交互式语言: 这意味着,您可以在
一个
Python提示符,直接互动执行写你的程序。l Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。l Python 是...
Python教程
以下实例在变量赋值时
数
字对象将被创建: var1 = 1 var2 = 10 您也可以使用del语句删除一些
数
字对象引用。 del语句的语法是: del var1[,var2[,var3[....,varN]]]] 您可以通过使用del语句删除单个或多个对象,...
脚本语言
37,719
社区成员
34,239
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章