什么是Delphi相当于C ++的“unsigned char”?

时间:2014-11-11 14:28:11

标签: c++ delphi

如何将以下C ++代码转换为Delphi?特别是isenable是什么?我试图找出是否正在添加此值。

unsigned char isenable = 0;
if (m_Isbuzzer)
{
    isenable = isenable | 0x01;
}
if (m_Isled)
{
    isenable = isenable | 0x02;
}

1 个答案:

答案 0 :(得分:4)

在Windows上,char是8位类型,unsigned表示无符号。通常,unsigned char用于面向二进制字节的数据。因此,将unsigned char映射到Byte。 Rudy Velthuis写的优秀文章Pitfalls of converting包含了这些信息。

|运算符是按位OR。列出了C ++运算符,并在此处详细记录:http://en.cppreference.com/w/cpp/language/expressions#Operators在Delphi中,按位OR是or operator

所以代码是:

var
  isenable: Byte;
....
isenable := 0;
if IsBuzzer then
  isenable := isenable or $01;
if IsLED then
  isenable := isenable or $02;