将字符用16进制来表示,其实就是将ascii码转换成16进制
我现在得到了一个很长的(128×16个)由0,1组成的字符串
我想把它们每四位一组,转为16进制
比如原来的字符串是:0100101000001101
转换后得到4A0D
function StrToHex(AStr: string): string; //字符串TO十六进制
var
I : Integer;
Tmp: string;
begin
Result := '';
for I := 1 to Length(AStr) do
begin
Result ...
While I <> 0 do
begin
Result[I] :='0';
I := Pos(' ', Result);
end;
end;
十六进制 :=StrToHex(0100101000001101)
就是用4位2进制01代码表示一位数的表示方法
从0000到1111共有16种组合
分别用0-15表示,但10之后就变成两位了,容易混淆
所以后面用abcdef表示10-15的数
因为它和二进制转换方便,所以计算机应用较多
1101 = 8 + 4 + 0 + 1 = 13 D
看到D,知道它是13,13如何用8421凑呢?应该是:8 + 2 + 1,即:1011。
所以,FD转换为二进制数,为: 1111 1011
看到D,知道它是13,13如何用8421凑呢?应该是:8 + 4 + 1,即:1101。
所以,FD转换为二进制数,为: 1111 1101
lxd2003 说的没错。
就如同我们惯的十进制的,满十六向前进一位,但在数位上的表达为1 2 3 4 5 6 7 8 9 A B C D E F,字母分别表示10 11 12 13 14 15,就是这个含义.我是这样理解的,不知道这个对不对.
标签:进制,字符