如题所述
设计程序语言和布尔类型,二者不是同一类型,前者是一组逻辑对象,后者是一组算术对象。如果零是假,则零是非真的这一组,这两种同构,所以要使用。但是交换的类型是错误的,另一个答案是安全类型,它是类型安全的追求,编译器可以很容易地为你检查。例如,一个新手常犯错误的C语言:本来想写如果(x = 0)但如果(x = 0),括号里应该是一个布尔表达式,但C语言这种约束不太大的坑,现在编译器检查,尤达和条件这件事,这是事后诸葛亮。C语言也是相当的,一旦接受了集有意义的例子。
机器语言没有类型。任何数据都被编码为二进制,它存储在内存和寄存器中。机器指令在内存和寄存器中操作数据,不管数据的含义是什么。
布尔(布尔)是一种数据类型,它只有两个值,即“true”和“false”。帕斯卡语言“真”中的布尔常量表示为真,而“假”则用假表示。所以布尔类型只有两个常量,即真和假。布尔变量(布尔值)。如果我们将一些变量描述为布尔值,这些变量就是布尔变量。它们只能用来存储布尔值(真或假)。例如,var a,b:布尔值;
布尔类型是序列类型,因为这种类型只有两个常量,而Pascal语言指定真序列的序列号是1,false的序列号是0。如果某一类型的常数是有限的,则这种类型的常数通常有一个序列号,我们称之为有序类型。正如前面所学的,整数和后面要学习的字符类型(char)都是顺序类型。输入和输出布尔型变量,B输出:布尔;开始:= true;B:= false;writeln(A,B);结束。输出结果是B.
高级语言引入了类型系统,对数据进行分类,并定义了各种数据可以完成的各种操作。编译器或解释器可以推断和检查类型,报告非法操作,并能尽早发现大量代码错误。
在解释这个问题之前,首先需要解释一下什么是布尔类型。简单来说,只有两个值,false 和 true,也就是用来判断条件是否成立。
在设计程序的时候,你需要考虑程序接受了内容之后,会产生什么样的输出。也就是说,要对这其中的过程进行一个流程的控制,那么如何进行流程控制呢?
程序接受了输入之后,我们要把这个输入值和真值进行比较。根据比较的结果来判断,输入是否正确。这种类似的逻辑判断流程,也就是我们所谓的流程控制。举个例子,如果输入的值是5,但是真值为6,那么布尔类型的输出结果就是false。简单来说,引入布尔程序是为了进行对流程的控制,进而控制最后的输出结果。
其实这种布尔类型也可以简单地用0和1来表示,看起来似乎比“true”和“false”的布尔类型更为简单。那么如果这样的话,引入布尔类型的意义在哪里呢?个人认为是为了增加程序的可读性。简单来讲,就是更接近自然语言,能够方便理解,让人看着很舒服。
程序的设计也需要考虑到多方面的内容,如果仅仅考虑简便,0和1的结果也就足够了。大家所熟悉的C语言中就没有引入布尔类型。
布尔程序只具有两个值的特性,使得其在程序修复的过程中,可以作为中间语言进行代码的修复。不过那就是更为复杂的东西了,在这里姑且不作探讨。