c语言 十六进制转换为二进制 用函数做

2020-09-19 教育 104阅读
我不会C语言,只会delphi
我给你一段delphi语言的代码吧,我刚写的
procedure TForm1.Button1Click(Sender: TObject);
var s,s1:string;
m,i:integer;
begin
s:=edit1.text;
m:=length(s);//16进制字符串的长度
S1:='';
for i:=1 to m do
begin
case s[i] of //对于16进制的每一位,进行下面的操作
'0': S1:='0000'+S1;
'1': S1:='0001'+S1;
'2': S1:='0010'+S1;
'3': S1:='0011'+S1;
'4': S1:='0100'+S1;
'5': S1:='0101'+S1;
'6': S1:='0110'+S1;
'7': S1:='0111'+S1;
'8': S1:='1000'+S1;
'9': S1:='1001'+S1;
'A': S1:='1010'+S1;
'B': S1:='1011'+S1;
'C': S1:='1100'+S1;
'D': S1:='1101'+S1;
'E': S1:='1110'+S1;
'F': S1:='1111'+S1;
end;
end;
edit2.Text:=s1;
end;
我说一下我的思路,你可以修改一下,照这个思路做:
先定义一个 字符串变量 S1 ,用来存2进制字符串,并作为中间变量
十六进制的1位 表示 2进制的 4位
所以 对于16进制的每一位,看这个位是几,如果是0 那就对S1加上‘0000’,如果是1 那就加上’0001‘,依次类推
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com