回 帖 发 新 帖 刷新版面

主题:请教几个pascal语法

本人不懂pascal,想把一个pascal程序改编成c版本,有几个语法看不懂,请指教。
1。
type
  Pls = ^Tls;
  Tls = array[byte] of byte;
这是什么意思?

2。Pls(mask)^[k]   
(注:Pls为上面定义的Pls,mask为指针,定义形式为:mask:pointer)
这是什么意思?

3。
k:integer
k and 1 表示的是按位与运算还是逻辑与运算?

回复列表 (共6个回复)

沙发

1.
把Pls定义成Tls的指针类型

也就是说
var
x:Pls;
相当于:  x:^array [0..255] of byte;

2.
把mask强制转换成Pls类型

3.逻辑

板凳

谢谢,不过,关于第3问,我还是不解,我看到的一个循环如下:
for k := 1 to $FF do
    bits[k] := bits[k shr 1] + k and 1;
如果这儿and是逻辑运算的话,k and 1应该永远为1吧,这样岂不是没有意义了?

3 楼

哦,对不起是我错了,
那应该是位操作了

4 楼

3搂能讲的详细点吗

5 楼

什么叫按位与运算?????

6 楼

就是两个数相应的位逐位进行与运算

我来回复

您尚未登录,请登录后再回复。点此登录或注册