请问Delphi中二进制数怎么表示?(100分)

  • 主题发起人 主题发起人 苏晴
  • 开始时间 开始时间

苏晴

Unregistered / Unconfirmed
GUEST, unregistred user!
我要将若干ASCII字符取异或运算,是不是应该先转成整型或二进制才可以?
转成整型用ord就可以了吧?至于二进制应该怎样写呢?好像不是00000000B?
还有,最终9异或的结果是一位8位数据,请问怎样分别取出前后4位?
谢谢!
 
使用十六进制吧。$或者0X开头

>>最终9异或的结果是一位8位数据,请问怎样分别取出前后4位?
还有High和Low不知道是否够你用的,如果不够,那么就需要自己手工去做了。
a and $00FF00 和 a and $0000FF之类的。
 
不用转换
10 and 0 =0
就行了,
后四位置0, ord('a') and 240 ,只取前四位的值ord('a') shr 4
前四位置0 ord('a') and 15
 
Delphi没有16进制数,8进制数,10进制数,2进制数,只有整数,浮点数,
要想处理2进制数,必须是整数类型,如integer,
smallint,longint,word,dword,Byte等,如果你想
取出一个8比特的前4位和后4位,可以这样做
var bit4: integer;
//如果是低位4位
bit4 := value and $F
//value是你要处理的变量
//如果是高位4位
bit4 := value and $F0
//value是你要处理的变量
//如果是高位4位,并且要把它右移到低4位
bit4 := (value and $F0) shr 4
//value是你要处理的变量
//或者
bit4 := (value and $F0) div $10
//value是你要处理的变量
 
楼上几位讲得很清楚了。
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部