⑴ 如果布尔常量值true赋给一个整型变量,则整型变量的值是
布尔型值本身就是一个整形数(Integer),只不过程序设计语言(比如VB)为了方便编程者使用才设置了True和False这样的常量,但它们的实际值就是-1和0。
为什么非得是-1和0呢?我们来看看:
True = -1(10进制)= &HFFFF(16进制)= 11111111(二进制)
False = 0(10进制)= &H0000(16进制)= 00000000(二进制)
可以看到,-1就是8位均为1的整数,而0则是8位均为0的整数,这也就解释了为什么对True进行Not运算就得到F辅偿滇锻鄄蹬殿拳东哗alse,同理对False进行Not运算就得到True,因为这两个数就是完全相反的数!
所以True的实际值就是-1。你可以在VB的立即窗口自己验证一下:
?true+1
0
?true*100
-100
?true/10
-0.1
看见没有?True是可以直接参与数值运算的!因为它实际上就是-1!
补充一下:如果要把一个普通数值转为布尔值,则VB(其他语言也类似)有这样的规则:任何非零值都是True,0则是False。比如,要判断一个数是否不等于0,一般是这样做的;
If x <> 0 Then
但实际上可以简化为
If x Then
⑵ Java语言中是否可以将布尔型转划为整型
Java语言规范不允许任何显式或隐式的从boolean的转换,可以用自己的方法转换:boolean b = true;
int i = b?1:0;
⑶ 布尔量数组如何转换成整型
用Boolean Array to Number节点。在“Programming" -> "Numeric" -> "Conversion" 里面
⑷ 如何将布尔类型转成整数pascal
var
b: Boolean;
i: Integer;
....
b := True;
i := Integer(b);
....
⑸ 如果将布尔常量值ture赋值给整形变量,则整形变量的值为多少
不定。一般false是0,但是,有的编译器true是1,有的编译器true是-1
⑹ 如果将布尔常量值True赋值给一个整型变量,则整型变量的值为________。
则整型变量的值为1,因为这属于隐式强制类型转换,并且布尔常量值True在计算机中的存储为1。
隐式类型转换发生在赋值表达式和有返回值的函数调用表达式中。在赋值表达式中,如果赋值符左右两侧的操作数类型不同,则将赋值符右边操作数强制转换为赋值符左侧的类型数值后,赋值给赋值符左侧的变量。
在函数调用时,如果return后面表达式的类型与函数返回值类型不同,则在返回值时将return后面表达式的数值强制转换为函数返回值类型后,再将值返回。
(6)将布尔量转化为整形怎么做扩展阅读:
自然类型转换遵循的规则:
1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
a、若两种类型的字节数不同,转换成字节数高的类型。
b、若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型。
3、所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4、char型和short型参与运算时,必须先转换成int型。
5、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分直接舍去。
⑺ 当从布尔值转换为整型,true转换为,false转换为
vb中:
整数0等於False
所有非0值的整数都等於True
由False转换到正数时会为0
由True转换到正数时预设为-1
⑻ 整型变量转布尔型变量的算法
可以使用抄位处理。
计算机中整数都是用2进制存贮,你的要求是取出每一位
比如10101,取出最后一位,则需10101&1=1,是末位
然后10101右移一位->1010,重复。
我们不用除2的方法,太慢太低效。没有看清本质。
大概就是这样,程序在下面,详细的请查看有关位处理的文章。
#include <iostream>
using namespace std;
int main()
{bool ans[100]={0};
int l=0;
int num;
cin>>num;
int i;
//按位取出,先取出最后一位,然后右移一位
for (i=0;i<=16;i++)
{
ans[i]=num&1;
num=num>>1;
}
//数位数
for (i=15;i>=0;i--)
{
if (ans[i])
{
l=i;
break;
}
}
//输出
for (i=l;i>=0;i--)
cout<<ans[i];
cout<<endl;
return 0;
}
⑼ 怎么将excel中布尔型的结果转换为数字
可选用抄以下转换方法:
1、在原袭公式外套上N函数。=N(原公式)
2、在原公式外加--。 =--(原公式)
3、将原公式加减0或乘除以数字1。=(原公式)+0或=(原公式)-0或=(原公式)*1或=(原公式)*1
4、在任一空白单元格输入数字1(或 0)并复制它,选定原公式所在单元格——在其上点鼠标右键——“选择性粘贴”——“乘”(或加)——“确定”。
⑽ C语言中整型与布尔类型的转换
0或1
c++中布尔变量的值true或false有1或0一表示,
任何非0的数都表示true,只内有0表示false。容
所以将任何一个非0的整型变量赋给布尔变量都会得到true(即1)
只有把值为0的整型变量赋给布尔变量时会得到false(即0),
再赋值回来给整型变量就得到0或1