<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
fpc 3.2.3<br>
The below prog prints 3 times: 11, -1 (signed values)<br>
<br>
<a class="moz-txt-link-freetext" href="https://www.freepascal.org/docs-html/current/ref/refsu4.html#x26-250003.1.1">https://www.freepascal.org/docs-html/current/ref/refsu4.html#x26-250003.1.1</a><br>
<blockquote type="cite">Free Pascal also supports the <span
class="cmtt-10">ByteBool</span>, <span class="cmtt-10">WordBool</span>,
<span class="cmtt-10">LongBool </span>and <span class="cmtt-10">QWordBool
</span>types. These are of type <span class="cmtt-10">Byte</span>,
<span class="cmtt-10">Word</span>, <span class="cmtt-10">Longint
</span>or <span class="cmtt-10">Int64</span>, </blockquote>
<br>
Besides the fact that a "QWordBool" should be "Int64", they all seem
to be treated as signed.<br>
<br>
Yet at least the first two of them are documented as unsigned.<br>
<br>
<br>
<br>
program Project1;<br>
var<br>
b1,b2 : wordbool;<br>
b3,b4 : longbool;<br>
b5,b6 : qwordbool;<br>
<br>
begin<br>
b1 := wordBool(11);<br>
b2 := wordBool(-1);<br>
writeln(ord(b1));<br>
writeln(ord(b2));<br>
<br>
writeln;<br>
b3 := LongBool(11);<br>
b4 := LongBool(-1);<br>
writeln(ord(b3));<br>
writeln(ord(b4));<br>
<br>
writeln;<br>
b5 := qwordBool(11);<br>
b6 := qwordBool(-1);<br>
writeln(ord(b5));<br>
writeln(ord(b6));<br>
<br>
readln;<br>
end.<br>
<br>
</body>
</html>