如何把十六进制数转换成二进制?
比如我的十六进制数是:1F,要转换成二进制数。
我知道有转换函数
HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer
但是具体怎么用?我用了总是出错。 :(
比如我的十六进制数是:1F,要转换成二进制数。
我知道有转换函数
HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer
但是具体怎么用?我用了总是出错。 :(
解决方案 »
- 自定义控件自定义属性,运行时为什么没有加载设计时的设定??
- 消费机实时通讯的速度问题~
- 很奇怪的问题,高手进来看看(关于sqlserver中text类型和delphi显示问题)
- 大家看看我写的恢复数据库的sql语句有什么问题,总是出错
- FastReport打印出现“不吻合,XXXXX纸盘”,请高手指教
- 请问哪里有好的控件下载?
- SystemParametersInfo这个函数怎么用?它是用来屏蔽一些功能键的。
- 如何倒着打印????
- 我想把DateTimePicker的日期插入access,因此用DataTimePicker.Date,但出错。用DataTimePicker.Date能成功插入,但后面带着我不想要的时间
- 高分求解,相信并不难!
- 我用的是ACCESS数据库,想在程序中建立一个临时表,该如何做?
- 请看下面winSocket与银行通信源程序
另外,16进制数Text中要用小写字母,不能用大写的
它只是实现HEX和ASCII的转换
比如'3454'
它会转换成'4A'
因为34是'4'的ASCII
54是'A'的ASCII所以你必须自己写函数
const
BCD: array [0..15] of string = ('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111', '1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');
var
i: integer;
begin
for i := Length(Hexadecimal) downto 1 do
Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;
end;————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————
i:Integer;
s:string;
s:='2F';
i:=StrToInt('$'+s);
CodeType:=i and $60; //1110 0000
CodeType:=CodeType shr 5;
Ver:=i and $1F; //0001 1111
case i of
'1' : temp:=temp+'0001'
'2' : temp:=temp+'0010'
........
'f' : temp:=temp+'1111'
end case
........
temp:=0;
case i of
'1' : temp:=temp+'0001'
'2' : temp:=temp+'0010'
........
'f' : temp:=temp+'1111'
end case
........