CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  脚本语言(Perl ,Python)

小弟刚刚入门问个简单问题

楼主koffdsa(病毒)2006-03-01 18:12:11 在 其他开发语言 / 脚本语言(Perl ,Python) 提问

就是我经常看到一些代码是把十进制转换为16进制或其他进制来比较大小,不懂为什么这样转换会提高效率,就好比加减计算有正负的数字时最好把他们全部以补码计算样,我说的不是很清楚望大家谅解 问题点数:20、回复次数:6Top

1 楼limodou()回复于 2006-03-01 18:39:42 得分 0

不知道.没这么用过.象这种处理应该是编译器做的事.Top

2 楼fibbery(飞)(睡足了才能提高效率)回复于 2006-03-01 20:04:23 得分 0

举一个具体的例子,可能会好些!Top

3 楼koffdsa(病毒)回复于 2006-03-01 20:39:47 得分 0

恩好,上次我也是在这个板块看到一个人提问,问通过用perl实现检测输入的IP地址在192.168.1.7-192.168.2.255内,有人回复基本都是把他们转换成16进制来比较.我只学过些C语言觉得可以每次都通过.符号为分割点来判断比较,但这绝没转换16进制在比较那么简单,我就是不懂通过16进制是因为什么提高了代码效率(小弟真的啥也不懂见笑了各位)Top

4 楼limodou()回复于 2006-03-01 22:17:55 得分 0

这只是简单与否的问题,并不能表示就是效率高呀.毕竟还要转换啊.Top

5 楼xyzxyz1111(程序员的自我修养)回复于 2006-03-01 22:48:50 得分 0

十进制和十六进制数只是表示的不同,像192,   168之类的十进制数只在源程序中有进制的概念,编译以后自然变成二进制表示的。所以不需要转换。192   ==   0xC0,   他们所说的ip比较,可能是将一个字符串"192.168.2.255"转换成整数   ,   然后用比较快的位运算计算。   和计算ip掩码差不多。  
   
  Top

6 楼xyzxyz1111(程序员的自我修养)回复于 2006-03-01 22:56:43 得分 0

 
  ip_addr   =   "192.168.1.7"  
  reduce(lambda   x,   y:   (x<<8)   +   int(y),   ip_addr.split("."),   0)Top

相关问题

  • 入门问简单问题!
  • 简单的入门问题
  • ado入门问题,简单
  • C#简单入门问题
  • 入门的简单问题
  • 一个很简单入门的问题
  • 比入门级还简单的问题?
  • 一个简单的入门问题
  • java入门的简单问题
  • DropDownList的入门级简单问题

关键词

  • 转换
  • 十进制
  • 比较
  • 进制
  • 简单
  • 效率
  • 计算
  • 表示

得分解答快速导航

  • 帖主:koffdsa

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo