⑴ 如果布爾常量值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