**Table of Contents**

In this chapter, we will describe basic Rax types in more detail.

Unlike C, but like Pascal and Java, Rax has an explicit boolean type
denoted by the `?`

symbol. A boolean variable can have
only two values `true`

and `false`

,
which are reserved keywords in Rax. The comparison operators, such
as `==`

, `>=`

return a boolean
value. Also, the value used in the first part of the immediate-if
operator, `?:`

, must be of boolean type.
The following operators are defined on the boolean type:

**Table 3.1. Operators defined on ?**

Operator name | Syntax |
---|---|

Logical not | `!b` |

Logical and | `a && b` |

Logical or | `a || b` |

Logical xor | `a ^^ b` |

Assignment | `a := b` |

Equal to | `a == b` |

Not equal to | `a != b` |