Delphi 中 这段代码是啥意思? b := b or ((ord(s[i]) and $C0) shr k); inc(k,2); s4[j] := Base64[(or
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Delphi 中 这段代码是啥意思? b := b or ((ord(s[i]) and $C0) shr k); inc(k,2); s4[j] := Base64[(or相关的知识,希望对你有一定的参考价值。
这里的 or and shr 都是位运算符,你上面的语言应该是一些加密运算,详细用法如下,知道这几个你就能很容易理解上面的语句了。
or 运算, 需要两个运算数
procedure TForm1.Button3Click(Sender: TObject);
begin
w := w1 or w2;
or 就是把两个运算数按位对比, 只有其中一个是1就返回1; 都是0才返回0
w1: 11110000 11110000 与
w2: 00001111 00001111 or 后会返回:
w : 11111111 11111111
ShowMessage(IntToStr(w)); 65535
end;
and 运算, 需要两个运算数
procedure TForm1.Button2Click(Sender: TObject);
begin
w := w1 and w2;
and 就是把两个运算数按位对比, 同是1返回1, 反之返回0
w1: 11110000 11110000 与
w2: 00001111 00001111 每一位都不同, 所以返回:
w : 00000000 00000000
ShowMessage(IntToStr(w)); 0
end;
shr 运算, 只有一个运算数
procedure TForm1.Button5Click(Sender: TObject);
begin
w := w1 shr 1;
shr 是按位右移, shr 1 是右移一位
w1: 11110000 11110000 右移一位后是:
w : *1111000 01111000 前面的*就是0了
ShowMessage(IntToStr(w)); 30840
同理, 可以移动几位, 譬如 3 位
w := w1 shr 3;
ShowMessage(IntToStr(w)); 7710
w1 shr 3 相当与 w1 div 2的3次方
w := w1 div 8;
ShowMessage(IntToStr(w)); 7710
end; 参考技术A 简单分析下
a=ord(s[i]) and $C0)
c=a shr k
b=b or c
到这里就应该好明白了。
具体指令基础的东西不用详细解释了。 参考技术B 给出的代码太少.无法帮你分析具体什么意思.
只能从所用的函数上边分析,但达不到想要的效果
取 A(B) 的平均值是啥意思?
【中文标题】取 A(B) 的平均值是啥意思?【英文标题】:What does taking a mean of A(B) mean?取 A(B) 的平均值是什么意思? 【发布时间】:2021-06-02 16:24:25 【问题描述】:我有这个代码:
hc = mean(h1(nv),2)
。 h1 是一列,nv 是三列。输出 hc 是与 nv 长度相同的一列。我只是不确定括号语法是什么意思或代码中的 2 表示什么。
【问题讨论】:
【参考方案1】:矩阵索引和沿第二维的平均值
这是矩阵索引的一种情况,当一个数组的值用于检索另一个数组在特定索引处的值时。在下面的示例中,nv
用于检索存储在h1
中位置1
、4
和5
的值。 mean()
函数中的第二个输入参数2
表示应该取每一行的平均值,从而得到每一行的平均值。在此示例中,由于每一行中只有一个值,因此每一行的均值会产生相同的向量。如果需要列向量中所有值的平均值,mean()
函数的第二个输入参数将为 1。
%Test arrays/matrices%
nv = [1 4 5];
h1 = [7; 8; 2; 9; 4; 3; 2; 1; 5; 11];
%Indexing h1 using the values in variable nv%
h1(nv)
%Taking the mean of each row%
hc = mean(h1(nv),2);
hc
【讨论】:
以上是关于Delphi 中 这段代码是啥意思? b := b or ((ord(s[i]) and $C0) shr k); inc(k,2); s4[j] := Base64[(or的主要内容,如果未能解决你的问题,请参考以下文章
ruby 代码中 if a = b 的行是啥意思? [复制]