为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

delphi 二进制 八进制 十进制 十六进制 进制转换

2018-01-18 10页 doc 27KB 35阅读

用户头像

is_594886

暂无简介

举报
delphi 二进制 八进制 十进制 十六进制 进制转换delphi二进制八进制十进制十六进制进制转换unitUnit2;interfaceusesSysUtils,Math;typeTConversion=classpublic//10?øÖÆto2,8,16?øÖÆfunctioninttoBitStr(intstr:string):string;functionIntToHexStr(intStr:string):String;//10=2functionIntToOStr(intstr:string):...
delphi 二进制 八进制 十进制 十六进制 进制转换
delphi二进制八进制十进制十六进制进制转换unitUnit2;interfaceusesSysUtils,Math;typeTConversion=classpublic//10?øÖÆto2,8,16?øÖÆfunctioninttoBitStr(intstr:string):string;functionIntToHexStr(intStr:string):String;//10=2functionIntToOStr(intstr:string):string;//2?øÖÆto10,8,16?øÖÆfunctionBittoInt(BitStr:String):LongInt;//2=10functionBitStrToHextStr(constBitStr:String):String;//2=16functionBitStrToOStr(constBitStr:String):String;//2=8//16>1028?øÖÆfunctionHextoIntStr(HexStr:String):string;functionHexToBitStr(HexStr:string):string;functionHexToOStr(HexStr:string):string;//?Ë?øÖÆת???É?þ?øÖÆ×Ö?û??functionOtoBitStr(O:string):string;functionOtoIntStr(O:string):string;functionOtoHexStr(O:string):string;end;varTC:TConversion;implementation{TConversion}//2?øÖÆto10?øÖÆfunctionTConversion.BittoInt(BitStr:String):LongInt;vari,Size:Integer;beginResult:=0;Size:=Length(BitStr);fori:=Sizedownto1dobegin//ÀýÈç1010ifCopy(BitStr,i,1)='1'thenResult:=Result+(1shl(Size-i));end;//µÚ?þÖÖ????//?þ?øÖÆת??ΪÊ??øÖÆstart{VARstr:String;Int:Integer;i:integer;Str:=UpperCase(Edit1.Text);Int:=0;FORi:=1TOLength(str)DOInt:=Int*2+ORD(str[i])-48;Edit2.Text:=IntToStr(int);}//?þ?øÖÆת??ΪÊ??øÖÆend??//µÚÈýÖÐ????{functionhextoint(s:string):Double;beginwhileLength(s)<>0dobegin//2^(???È-1)?Î??ifs[1]='1'thenResult:=Result+power(2,Length(s)-1);s:=Copy(s,2,Length(s));endend;}end;functionTConversion.BitStrToHextStr(constBitStr:String):String;varvD:Byte;I:Integer;vHextStr:String;vP:PChar;vLen:Integer;beginvLen:=Length(BitStr);ifvLenmod4>0thenbeginSetLength(vHextStr,vLendiv4+1);vLen:=vlendiv4+1;endelsebeginSetLength(vHextStr,vLendiv4);vLen:=vlendiv4;end;//?õÊ???vD:=0;vP:=PChar(BitStr)+length(BitStr)-1;I:=0;//?ªÊ??ÆÊýwhilevP^<>#0dobeginifvp^='1'thenbegincaseiof0:vD:=vd+1;1:vD:=vd+2;2:vD:=vd+4;3:vD:=vd+8;end;end;Dec(vP);Inc(I);ifI=4thenbegincasevDof0..9:vHextStr[vLen]:=Chr(vD+$30);10..15:vHextStr[vLen]:=Chr(vD-10+$41);end;Dec(vLen);I:=0;vD:=0;end;end;ifI>0thenbegincasevDof0..9:vHextStr[vLen]:=Chr(vD+$30);10..15:vHextStr[vLen]:=Chr(vD+$41);end;end;Result:=vHextStr;end;functionTConversion.BitStrToOStr(constBitStr:String):String;varvD:Byte;I:Integer;vHextStr:String;vP:PChar;vLen:Integer;beginvLen:=Length(BitStr);ifvLenmod3>0thenbeginSetLength(vHextStr,vLendiv3+1);vLen:=vlendiv3+1;endelsebeginSetLength(vHextStr,vLendiv3);vLen:=vlendiv3;end;//?õÊ???vD:=0;vP:=PChar(BitStr)+length(BitStr)-1;I:=0;//?ªÊ??ÆÊýwhilevP^<>#0dobeginifvp^='1'thenbegincaseiof0:vD:=vd+1;1:vD:=vd+2;2:vD:=vd+4;end;end;Dec(vP);Inc(I);ifI=3thenbegincasevDof0..9:vHextStr[vLen]:=Chr(vD+$30);end;Dec(vLen);I:=0;vD:=0;end;end;ifI>0thenbegincasevDof0..9:vHextStr[vLen]:=Chr(vD+$30);end;end;Result:=vHextStr;end;functionTConversion.HexToBitStr(HexStr:string):string;constcBitStrings:array[0..15]ofstring=('0000','0001','0010','0011','0100','0101','0110','0111','1000','1001','1010','1011','1100','1101','1110','1111');varI:Integer;beginResult:='';forI:=1toLength(HexStr)doResult:=Result+cBitStrings[StrToIntDef('$'+HexStr[I],0)];whilePos('0',Result)=1doDelete(Result,1,1);end;{HexToBit}functionTConversion.HextoIntStr(HexStr:String):string;beginresult:=IntToStr(StrToInt('$'+(HexStr)));end;functionTConversion.HexToOStr(HexStr:string):string;beginResult:=BitStrToOStr(HexToBitStr(HexStr));end;functionTConversion.inttoBitStr(intstr:string):string;vari:Integer;begini:=StrToInt(intstr);whilei<>0dobegin//imod2È?Ä?,ÔÙÊ?ÓÃformat?ñÊ???result:=Format('%d'+result,[imod2]);i:=idiv2endend;//10?øÖÆ×???2?øÖƵÚ?þÖÖ????{functionTConversion.IntToBitStr(Value,Size:Integer):String;vari:Integer;beginResult:='';fori:=Size-1downto0dobeginifValueand(1shli)<>0thenbeginResult:=Result+'1';endelsebeginResult:=Result+'0';end;end;end;}functionTConversion.IntToHexStr(intStr:string):String;beginResult:=inttoBitStr(intstr);end;functionTConversion.IntToOStr(intstr:string):string;beginResult:=BitStrToHextStr(inttoBitStr(intstr));end;functionTConversion.OtoBitStr(O:string):string;constcBitStrings:array[0..7]ofstring=('000','001','010','011','100','101','110','111');vari,j:Integer;beginResult:='';forI:=1toLength(o)dobeginj:=strtoint(o[i]);Result:=Result+cBitStrings[j];end;whilePos('0',Result)=1doDelete(Result,1,1);end;functionTConversion.OtoHexStr(O:string):string;beginResult:=BitStrToHextStr(OtoBitStr(o));end;functionTConversion.OtoIntStr(O:string):string;beginResult:=OToIntStr(OtoBitStr(o));end;end.
/
本文档为【delphi 二进制 八进制 十进制 十六进制 进制转换】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
热门搜索

历史搜索

    清空历史搜索