问题标题:
表达式1.5+32>2or7mod3
问题描述:

表达式1.5+32>2or7mod3

宋存义回答:
  1.5+32=1.5+1>2true   7mod3=1
刘传菊回答:
  参与运算的量一般都应是逻辑型,如果参与逻辑运算的两操作数是数值量,则以数值的二进制逐位进行逻辑运算(0当False,1当TRue)。这句话是不是和上面的有关呀?not1,我是这样理解的,not1,是单目运算,应当是不符号上面所说的,所以not1为false。对吗?
宋存义回答:
  你的理解可以认为是对的。并且not 1按你的理解或按实际运算结果都=false。不过,在VB中,数据类型是可以隐式转换的,即如逻辑运算符的两边是数值的情况下,非0转换成true,0转换成false,再参与运算。对于你说的数值的二进制逐位进行逻辑运算,是要用位运算符才有用的,C中有这种概念,VB中的and,not等是逻辑运算符,不会自动按位计算的。且在VB中貌似没有按位运算符的。
查看更多
其它推荐
热门其它推荐