如果我們在INT古典十進制格式長,我們可以做這樣的事情:如何在二進制表示中找到long int中的數字? C++
const long int NUMBER = 4577;
const long int DIGIT_TO_FIND = 5;
long int thisNumber = NUMBER >= 0 ? NUMBER : -NUMBER;
long int thisDigit;
while (thisNumber != 0)
{
thisDigit = thisNumber % 10;
thisNumber = thisNumber/10;
if (thisDigit == DIGIT_TO_FIND)
{
printf("%d contains digit %d", NUMBER, DIGIT_TO_FIND);
break;
}
}
但對於二進制表示或INT長代表八? 我們:
const long int NUMBER = 01011111; // octal
const long int DIGIT_TO_FIND1 = 0;
const long int DIGIT_TO_FIND2 = 1;
正確輸入:
01010101
11111111
壞輸入:
02010101 (because two)
00000009 (because nine)
我們需要檢查是否INT長只包含0或1。 什麼是最簡單的方法來檢查正確的輸入?也許只是一個簡單的問題,但不知道,謝謝。
'01011111'是八進制。 – Pubby
目前還不清楚你想要什麼。 你想檢查一個數字'x'的十進制表示只包含1和0嗎?因爲如果你用二進制表示,它的定義將會有... – jcoder
@ J99我認爲他有一個由1和0組成的數字,雖然它是一個小數,但實際上是一個二進制數。然後他想驗證數字只是1/0 ......爲什麼我不知道! – Caribou