2011-01-16 2 views
0

Мне задавали этот вопрос в интервью! Я просто хотел знать, какой правильный ответ на это. Я сказал, что логически концепция представлена ​​типом данных bool (C#). Переменная типа данных bool может иметь истинное или ложное значение и может использоваться как условие условной проверки. Номерно, 1 представляет true и 0 представляет false в большинстве программ Языки. Я не знаю, что еще добавить или что такое различие между ними. Все комментарии будут очень признательны.Понятие истинного, ложного логически и численно?

+3

Не определение большинства языков из 'true'„ничего, кроме '0'“? – delnan

+0

Я могу себе представить, что «Численно, 1 представляет true, а 0 - false на большинстве языков программирования». не был ответом, которого искал интервьюер. – PeterK

+2

Рассматривая историю вопроса, кажется, что полученные ответы отвечали на ваши вопросы. Возможно, вам стоит пометить их как «принятых»? –

ответ

0

В C# (в отличие от некоторых других языков) Булев не являются целыми числами и не являются конвертируемыми в целых числах:

int x = true; // Error - Cannot implicitly convert type 'bool' to 'int' 

В результате это не имеет смысла говорить, что истинная равно 1 в C#. На уровне реализации значение true может быть сохранено внутренне как значение 1, но это детализация, специфичная для этой реализации, а не функция самого C#.

Если вы хотите, чтобы преобразовать логическое значение в значение 0 или 1 вы можете сделать это:

int x = isFoo ? 1 : 0; 
+0

Спасибо за ответ. Это означает, что в C# нет понятия истинного и ложного числа? – collegian

+0

Да, в принципе, справедливо сказать, что нет числовых значений для true и false в C#. –