关于BIT解码的问题(50分)

  • 主题发起人 主题发起人 foxnt
  • 开始时间 开始时间
F

foxnt

Unregistered / Unconfirmed
GUEST, unregistred user!
1:一个字符数组:1234567890
每个字符8BIT。
现为证明其中一BIT,如第三BIT是1,
我如何证明呢?
请给个公式、算法之类的吧。
小弟对这些忘了许久了。现在火烧屁股了,
来不及看HELP了。
2:在DELPHI中如何定义16、2进制的数如:0X20 、001100?
 
1. 可用and

(A and $2) = 0 即表示A数的第i个字符
的第2Bit是否为1.

2.16进制表示为$xx,
如0x20表示为$20
2进制不清楚,好象不能表示
 
1.Bit数组可以使用TBit类
具体情况可以参考<<Delphi高级开发指南>>
(不知是否记错)
或者自己试一下.
 
可以参考"Delphi高级开发指南"
 
如果第三位为真则为00000100=4,可以用:
(Ord(A) and 4) = 4 来判断, 或者将原来的二进制数值向右移动两位与1比较
((Ord(A) shr 2) and 1) = 1
 
1, and 可以做到,与位操作相关的还有, or not shl shr 等等,
必须先转化为数值型的
2,二进制不清楚, 应该能用 format 得到。
 
多谢大家热情指点,小弟立即去试试。

成功的话就分猪肉!
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
后退
顶部