十进制

php手动实现ip2long和long2ip

久未见 提交于 2019-12-03 11:19:22
php手动实现ip2long和long2ip /** * 测试 */ public function testipAction() { $ip = '10.58.101.175'; echo ip2long($ip); echo "<br>"; echo $this->myip2long($ip); echo "<br>"; echo long2ip('171599279'); echo "<br>"; echo $this->mylong2ip('171599279'); } /** * 自己实现ip2long * @param $ip * @return float|int|string */ protected function myip2long($ip) { $newhex = ''; // 将ip分割成数组 $ipsArr = explode('.', $ip); foreach ($ipsArr as $key => $value) { // 十进制最大值是255,如果超过,则直接返回 if ($value > 255) { return ''; } // 将十进制转化为十六进制 $hex = dechex($value); // 每个ip最大是255,十六进制是FF,最大是两位 // 比如ip:1.1.1.1如果不补0,则十六进制是1111,十进制是4369 //

dede时间标签

£可爱£侵袭症+ 提交于 2019-12-03 06:48:34
dedecms首页时间标签: 1、12-27 样式 ([field:pubdate function='strftime("%m-%d",@me)'/]) 2、May 15, 2009 样式 ([field:pubdate function='strftime("%b %d, %Y",@me)'/]) 提示:可修改后代码再运行! dedecms列表页时间标签: 1、2009-12-27 18:30:02 样式 [field:pubdate function="GetDateTimeMK(@me)"/] 2、2009-12-27 样式 [field:pubdate function="GetDateMK(@me)"/] dedecms内容页时间标签: 1、2009-12-27 样式 {dede:field name='pubdate' function='GetDateMk(@me)'/} 2、May 15, 2009 样式 {dede:field name='pubdate' function='strftime("%b %d, %Y",@me)'/} 24小时内的时间显示红色: [field:pubdate runphp='yes'] $a="";"; $b=" $c=strftime("%Y年%m月%d日 %H:%M:%S","@me"); $ntime = time();

面试题

匿名 (未验证) 提交于 2019-12-03 00:38:01
1 :简述解释型和编译型编程语言的区别 解释型:当程序运行时,将代码从上至下,一句一句解释成二进制,在执行. 典型: python , php 优点:开发速度快,可以跨平台. 缺点:执行效率慢. 编译型:将源码一次性转化成二进制文件,然后在执行. 典型: C , C ++... 优点:执行效率快. 缺点:开发速度慢,不能跨平台. 2 : Python 解释器种类以及特点 使用最广泛的是 CPython CPython 当从 Python 官方网站下载并安装好 Python2 . 7 后,就直接获得了一个官方版本的解释器: Cpython ,这个解释器是用 C 语言开发的, 所以叫 CPython ,在命名行下运行 python ,就是启动 CPython 解释器, CPython 是使用最广的 Python 解释器。 IPython IPython 是基于 CPython 之上的一个交互式解释器,也就是说, IPython 只是在交互方式上有所增强,但是执行 Python 代码 的功能和 CPython 是完全一样的,好比很多国产浏览器虽然外观不同,但内核其实是调用了 IE 。 PyPy PyPy 是另一个 Python 解释器,它的目标是执行速度, PyPy 采用 JIT 技术,对 Python 代码进行动态编译,所以可以显著 提高 Python 代码的执行速度。 Jython

可乐编程笔记:数字和运算

匿名 (未验证) 提交于 2019-12-03 00:27:02
1、python中的数字及数字类型 2、整数进制的几种表示方式 3、变量的概念 4、python运算 type() 查看数字类型 >>> type ( 42 ) < class 'int' > # class :类 int :整型 >>> type ( - 1 ) < class 'int' > >>> type ( 1 + 1 j) < class 'complex' > >>> float ( 1 ) 1.0 >>> int ( 1.0 ) 1 十进制 二进制 八进制 十六进制 - 各进制之间的转换 >>> bin( 42 ) #十进制转为二进制 '0b101010' >>> oct( 42 ) #十进制转为八进制 '0o52' >>> hex( 42 ) #十进制转为十六进制 '0x2a' >>> 0b101010 #二进制转为十进制 42 >>> 0o52 #八进制转为十进制 42 >>> 0x2a #十六进制转为十进制 42 python中,变量就是值的名字,通过赋值来改变数值 定义格式为: 变量名=数值 - 变量名的规则 - 只能包含字母、数字、下划线 - 不能以数字开头 - 变量名不能为python内置变量名 变量类型和值的类型一致 1、加法: + >>> 1+1 #以下例子和这个相似,便不再贴出shell中的演示 2 2、减法: - 3、乘法: * 4、除法: /

汇编――print一个十进制数

匿名 (未验证) 提交于 2019-12-03 00:22:01
开发环境:Emu8086 v3.05 小端模式 功能及参数表见代码注释 mov ax , 156 call showa ret showa : ;显示一个十进制数------------------------------------- proc of show_one 数在 ax 中 16 λ ; div 除法: 被除数: 如果除数是 8 位则被除数为 16 λ, 默认放在 AX 中, 如果除数是 16 λ, 则被除数为 32 λ, 默认高位放在 DX , 低位放在 AX ; 结果: 如果除数是 8 λ, 那么执行 div 后, 余数存放在 ah , 商存放在 AL 中; 如果除数是 16 λ, 那么 AX 保存商, DX 保存余数 pushf push bx push cx push dx ; mov ax , ax mov bx , 0 shoa_lp : mov cx , 10 div cl mov cl , ah mov ch , 0 push cx inc bx ;计数 mov ah , 0 cmp ax , 0 ja shoa_lp mov ah , 02h mov cx , bx shoa_lp1 : pop bx mov dl , bl add dl , '0' int 21h loop shoa_lp1 pop dx pop cx pop bx popf ret

模板―十进制快速幂

匿名 (未验证) 提交于 2019-12-02 23:48:02
用于指数爆longlong的情况,当然你也可以打高精…… 因为昨天有人提到了慢速乘,感觉挺有用的,就顺便都学了吧,而且省选也用到十进制快速幂了。 #include<iostream> #include<cstring> #include<cstdio> #define LL long long using namespace std; char c[100000]; LL a,p,t; LL tenthpow(LL a) { LL ans=1,s=a; while(t>=0) { LL cnt=c[t]-'0',cur=s; for(int i=1;i<=cnt;i++) ans=ans*s%p; for(int i=1;i<10;i++) cur=cur*s%p; s=cur;ans%=p;t--; } return ans; } signed main() { cin>>a>>c>>p; t=strlen(c);t--; cout<<tenthpow(a)<<endl; }

十进制与BCD码转换的算法

匿名 (未验证) 提交于 2019-12-02 23:48:02
BCD是指用二进制来表示十进制数的编码,即用4位二进制来表示一位十进制数,因此4位二进制数表示最大的十进制数9(1001),只取十六个数中的十个数。 比如: $$ BCD码:0x99(153),该BCD码转换成十进制是99. $$ 十进制是逢十进一,而十六进制是逢十六进一,它们之间的每次进位差66,所以一个十进制数要转换成BCD码,要先算清多进位的位数,比如,十进制9999进位了99/10=999/10=9次,每次进位和十六进制进位相比差66,所以一共差了9×6=549×6=54,即99+54=15399+54=153(BCD)。BCD码转化成十进制码也一样。 代码 static uint8_t BCD2DEC(uint8_t bcd) { return (bcd-(bcd>>4)*6);` } static uint8_t DEC2BCD(uint8_t dec) { return (dec+(dec/10)*6);` }

计算机中的字符编码

匿名 (未验证) 提交于 2019-12-02 23:43:01
计算机中的字符编码 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。 由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。 但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。 你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。 因此,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。 Unicode标准也在不断发展,但最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。 现在

Python实现十进制向2,8,16等进制转换算法

匿名 (未验证) 提交于 2019-12-02 22:54:36
from pythonds.basic.stack import Stack def divideBy2(decNumber, base): digits = "0123456789ABCDEF" remstack = Stack() while decNumber > 0: rem = decNumber % base remstack.push(rem) decNumber = decNumber // base binString = "" while not remstack.isEmpty(): if base > 10: top = str(digits[remstack.pop()]) binString = binString + top else: binString = binString + str(remstack.pop()) return binString if __name__ == '__main__': print(divideBy2(26, 16)) print(divideBy2(26, 9)) print(divideBy2(26, 5)) print(divideBy2(26, 8)) 文章来源: Python实现十进制向2,8,16等进制转换算法