关于"$"的疑问(10分)

  • 主题发起人 主题发起人 刘亚林
  • 开始时间 开始时间

刘亚林

Unregistered / Unconfirmed
GUEST, unregistred user!
请先看一段程序:
var
w:word;
begin
w:=$1234;
writeln(w);
readln;
end;
运行结果为4660。
1.我想$是不是把十进制数转换成十六进制数呢?
2.还有不有其它的符号类似于它的功能的呢,比如说哪个符号用来把十六进制数转换成十进制数,把二进制数转换成八进制数等等
 
还有一个问题:
先看程序:
var 
s:string[5];
a:char;
begin
a:=sting[0];
writeln(a);
end;
运行结果为一个怪里怪气的符号,为什么不显示出#5啊?
 
我听不懂了,内存中都是二进制的,不存在把二上六进制"数"转换成进进制"数"
应该都是,如何表达几进制常量的问题,比如$21代表 16进制的 12代表进制的,也许你说的是转成字符串
 
晕了啊你
string类只能从1开始
 
还有一个问题:
#0在object pascal里是不是表示null?

不好意思啊,我发现总是在我没分的时候问题特别多~~分很少,希望兄弟们多多包涵
 
whtsuperant:
对啦,我就是这个意思,再帮我想想看,还有没有其它的具有类似功能的符号
 
“晕了啊你
string类只能从1开始 ”:

兄弟,你错啦,string[0]里存放的是字符串的长度哦~~这里就是#5啦 ^0^
 
--string[0]里存放的是字符串的长度哦????
var
s:string[5];
a:char;
begin
s:='12345';
a:=s[0];
showmessage(a);

end;
为什么显示的是“1”.
 
跟你一样的代码,s[0]显示的是一个'」'(注意,不是1,而是一个特殊符号)
s[1]显示的才是'1'
代码加在按钮上:
  procedure TForm1.Button1Click(Sender: TObject);
var
s:string[5];
ch:char;
begin
s:='1234';
ch:=s[0];
showmessage(ch);//显示是一个'」'
end;
  

 
明白了,不过是在QQ上由东兰梦舞解决的。在这里谢谢他,也谢谢上面帮忙的各位朋友
 

Similar threads

回复
0
查看
867
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
后退
顶部