为您找到搜索结果:6158个
【PHP】php实现二进制、八进制、十进制、十六进制之间各自转换的函数
<?php/*常见的进制:二进制 binary ----->bin八进制 octal ----->oct十进制 decimal ----->dec十六进制 hexadecimal ----->hexphp提供了几常见进制之间转换的函数二进制转为其他进制binoct();//转为八进制bindec();//转为十进制binhex();//转为十六进制八进制转为其他进制octbin();//转为二进制octdec();//转为十进制octhex();//转为十六进制十进制转为其他进制decbin();//转为二进制decoct();//转为八进制dechex();转为十六进制十六进制转为其他进制hexbin();转为二进制hexoct();//转为八进制hexdec();//转为十六进制上面列举了这么多,其实自己感觉一点用没有,对于上面的这些函数,你只需要急着bin、oct、dec、hex就可以了,你要把a进制转为b进制,那就是ab()举个简单的例子:把二进制(bin)转为十进制(dec):bindec();就这么简单...
C语言 extern4 全局数组
headB.h中:#ifndefheadB_H#defineheadB_Hinti=888;intarr[5]={1,2,4,5,3};#endif.c文件中:#include"headB.h"#include<stdio.h>voidmain(){intj=0;for(;j<5;j++){printf("%d",arr[j]);}printf("%d",i);}结果:12453888 请按任意键继续......
C语言 extern3 全局变量的使用
和函数的全局使用极其类似:第一种方法,也是最简单的:在first.h中定义,intG_Flag=78;在对应的first.c中使用:#include"first.h"#include<stdio.h>voidmain(){printf("%d",G_Flag);} 第二种方法(复杂的):在second.c中定义,在对应的second.h中不使用extern声明,在first.h中使用extern声明,在first.c中使用second.c://多文件测试#include"first.h"#include<stdio.h>/**其他定义子函数*///在.c定义intG_Flag=25;second.h中声明(不使用extern)intG_Flag;first.h中声明(使用extern)externintG_Flag;first.c中调用:#include"first.h"#include<stdio.h>voidmain(){printf("%d",G_Flag);}第二种方法(简单的):在second.h中直接定义,在first.h中使用...
C语言 extern学习2 分析
上一篇文章中,通过头文件声明,而调用有一个特别大的漏洞:为什么编译器可以链接过来呢,因为默认是extern修饰的,这种类似全局作用域的功能使其可以被调用继续加强学习:这一次有两对C文件: first.c first.h second.c second.hfirst.c代码://多文件测试#include"head.h"#include<stdio.h>voidprintStr(){printf("Helloworld!");} first.h代码:voidprintStr();//函数定义域:从声明点延伸到源程序文本结束相应的,second.c代码:#include"second.h"#include<stdio.h>voidmain(){printStr();}second.h代码:(重点)externvoidprintStr();//函数定义域:从声明点延伸到源程序文本结束分析:无疑,在上面的second.h和first.h中,需要我们用extern标志符来修饰printStr函...
C语言 extern学习1
没有头文件时,通过本文件内的函数声明来确定定义域,实现功能://单文件测试#include<stdio.h>/*经测试,C语言环境下子函数默认是void型;所以可省略不写为严谨起见,加上void*/voidprintStr();//函数定义域:从声明点延伸到源程序文本结束voidmain(){printStr();}voidprintStr(){printf("Helloworld!");}多文件测试:第一种方案:main.c子函数定义head.h子函数的声明,该种方法类似单文件测试,目的是将定义域提到最前面优点是:不必添加子函数中用到的库函数相应的库文件代码:head.hvoidprintStr();//函数定义域:从声明点延伸到源程序文本结束main.c//多文件测试#include"head.h"#include<stdio.h>/*经测试,C语言环境下子函数默认是void型;所以可省略不写为严谨起见,加上void*/voidmain(){printStr();}voidprintStr(){printf("Helloworld!");} 第二种...
C语言 memcpy二维数组的复制
今天在实现二维数组的复制功能时,竟然出现了好多问题,还是太不小心了。我们知道,平时进行矩阵复制,无非是二重循环进行赋值操作,所以今天想改用利用memcpy进行复制操作,当然一维数组的复制在上一篇文章已经练习过了需要注意的问题是: 复制的本质是利用:行+变量字节数*列 这种表达,所以目标数组的行数一定是固定的刚开始想到项目中行数是未知的,默认为空,结果程序逻辑问题,不停的溢出,所以要小心 #include<stdio.h>voidprint(int*data,size_tm,size_tn);//二维数组显示子函数intmain(void){intsrc[][3]={{1,2,3},{4,5,6},{7,8,9},{1,2,3},{4,5,6},{7,8,9}};intdes[6][3]={0,0};//要小心,行数固定printf("%d",sizeof(src));print(src,6,3);memcpy(des,src,sizeof(src));print(des,6,3);return1;}//二维子函数显示功能voidpr...
C语言一维数组复制
/**通过自定义的函数memcpy实现复制功能,优点是不需要引用库函数*在windows平台下,通过sizeof测试发现:int4字节float4字节double8字节*/#include<stdio.h>void*memcpy(void*des,voidconst*src,size_tlen);voidprint(int*data,size_tn);intmain(void){floatdes[10]={0};floatsrc[10]={0,1,2,3,4,5,6,7,8,9};//floatintdouble都能够通过memcpy函数实现复制功能printf("%d",sizeof(src));print(des,10);memcpy(des,src,sizeof(src));print(des,10);return1;}voidprint(float*data,size_tn){inti=0;printf("");for(;i<n;i++)printf("%7.2f",data[i]);printf("");}void*memcpy(void*des,const...
C语言memset学习
#include<stdio.h>#include<memory.h>voidshow(inta[][3]);//函数声明voidmain(){inta[][3]={{23,46,11},{99,45,82},{72,90,21},{11,22,33}};//二维数组的定义show(a);//二维数组作为形参,遍历显示memset(a,0,sizeof(a));//对二维数组填充0操作;即清零show(a);}voidshow(inta[][3]){inti,j;for(i=0;i<4;i++){for(j=0;j<3;j++){printf("%d",a[i][j]);}printf("");}}功能:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用法:void*memset(void*s,charch,unsignedn); 程序例: #include<string.h> #include<stdio.h> #inc...
利用CSS3选择器实现表格的斑马纹
要用到的Css3选择器element:nth-child(number){}选择器匹配属于其父元素的第number个子元素参数Numberodd奇数even偶数W3School介绍:http://www.w3school.com.cn/cssref/selector_nth-child.asp 完整demo:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-equiv="X-UA-Compatible"content="ie=edge"><title>测试</title></head><style>#testtabletbodytr:nth-child(odd){/*匹配奇数行*/background-color:lightskyblue;color:b...
汇编:汇编语言实现判断一个字符串是否是另一个字符串的字串
1;==========================================2;循环程序设计3;判断一个字符串是否出现在另一个字符串中4DATASSEGMENT5string1db"yourfingercanchangetheworld",06string2db"finger",07flagdb?;存在为1不存在为08DATASends9CODESSEGMENT10ASSUMECS:CODES,DS:DATAS11START:12movAX,DATAS13movDS,AX14;正式的代码开始15movBX,offsetstring216movAX,offsetstring1;si存放目标字符串的偏移地址1718decAX19while1:;while1判断string2的首字母与string1的哪一个首字母相等20movsi,AX21movdi,BX;di存放带判断字符串的偏移地址22incsi23incAX24xorcx,cx25movch,[si];ch存放string1中的一个字符26movcl,[di];cl存放string2中的一个字符27cmpch,028jzf...
汇编:汇编语言实现冒泡排序(条件转移指令)
1;===============================2;循环程序设计3;条件转移指令实现4;冒泡排序5;for(inti=0;i<N;i++){6;for(inth=0;j<N-1-i>;j++){7;if(array[j]>array[j+1]){8;exchange(array[j],array[j+1]);9;}10;}11;}12DATASSEGMENT13Nequ16;待排序的个数14DATASends15CODESSEGMENT16ASSUMECS:CODES,DS:DATAS17START:18movAX,8000H;待排序的内容的段地址19movDS,AX2021movbx,-122movsi,12324flag1:25movdi,02627flag2:28moval,[bx+di]29cmpal,[bx+di+1]30janext1;大于31xchgal,[bx+di+1]32mov[bx+di],al;交换33next1:34incdi35xorcx,cx36movcx,N-137subcx,si38cmpdi,cx39jbef...
汇编:汇编语言实现冒泡排序(loop指令实现)
1;===============================2;循环程序设计3;loop指令实现4;冒泡排序5;for(inti=0;i<N;i++){6;for(inth=0;j<N-1-i>;j++){7;if(array[j]>array[j+1]){8;exchange(array[j],array[j+1]);9;}10;}11;}12DATASSEGMENT13bufferdb12,3,6,23,54,121,99,100,46,23;待排序的10个数14DATASends15CODESSEGMENT16ASSUMECS:CODES,DS:DATAS17START:18movAX,DATAS;待排序的内容的段地址19movDS,AX2021movbx,offsetbuffer;待排序的内容的偏移地址22movsi,0;外层循环起始下标023xorcx,cx24movcl,10;设置外层循环次数2526flag1:27movdi,0;内层循环起始地址下标028pushcx;cx次数压栈29flag2:30moval,[bx+di]31cmpal,...
汇编:模拟C语言实现break与continue
1;===============================2;循环程序设计3;模拟C语言实现break与continue4DATASSEGMENT5idw06sumdw07DATASends8CODESSEGMENT9ASSUMECS:CODES,DS:DATAS10START:11movAX,DATAS;待排序的内容的段地址12movDS,AX1314movdi,i;di存放i15movsi,sum;si存放sum16flag:;循环开始17incdi;i++1819cmpdi,3020jbflag;if(i<30)continue21addsi,di;sum+=i2223cmpsi,100024jaexit;if(sum>1000)break25jmpflag2627exit:28movbx,offseti29mov[bx],di3031movbx,offsetsum32mov[bx],si33;赋回34movah,4ch35int21H36CODESends37endSTART ...
汇编:采用址表的方法编写程序实现C程序的switch功能
//待实现的C程序1voidmain()2{3intgrade=90;4switch(grade/1-0)5{6case9:7printf("excellence");8break;9case8:10printf("good");11break;12case7:13printf("average");14break;15case6:16printf("pass");17break;18default:19printf("fail");20}21} 汇编代码:1;采用地址表的方法编写汇编程序实现以下的C程序的功能2DATASSEGMENT3gradedw904ComTabdwcoma,comb,comc,comd5g1db'excellent','$'6g2db'good','$'7g3db'average','$'8g4db'pass','$'9g5db'fail','$'10DATASends11CODESSEGMENT12ASSUMECS:CODES,DS:DATAS13START:14movAX,DATAS15movDS,AX;把需要比较的两个数字放入两个寄存器中161...
汇编:实现C语言的 ||与&&运算
;C程序转汇编(或运算链接)DATASSEGMENTaDw5bdw6ccdw7ddw8mdw2ndw2stringdb6dup(?)DATASendsCODESSEGMENTASSUMECS:CODES,DS:DATASSTART:movAX,DATASmovDS,AX;把需要比较的两个数字放入两个寄存器中movax,amovbx,bcmpax,bxjbRm;当a<B时跳转到rmmovm,0;当a>b时为假所以m赋值为0;上述内容给等价于m=a<>>bmovax,ccmovbx,dcmpax,ccjaRnmovn,0;上述内容给等价于n=c>djmpexitRm:movm,1jmpexitRn:movn,1jmpexitexit:movsi,offsetstringmovAX,mandAL,0FHaddal,30Hmov[si],al;把m转化为ASCII码并存入string中xorcx,cxmovcl,3;上述两句设置循环次数lp:incsimovbyteptr[si],20H;20H代表空格looplp;利用循环添加3个空格代替incsimovA...