Почему двоичный файл и не троичные вычисления?

Для этого вы можете использовать SharedPreferences .

Когда вы регистрируете пользователя, сохраняете значение в SharedPreferences, а затем каждый раз, когда вы открываете приложение, запрашивает это значение, если оно истинно, тогда вы переходите к LoginPage, если оно не идет к RegisterPage

пользователь регистрируется в приложении:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putBoolean("userRegistered", true);
 editor.apply();

Затем каждый раз, когда вы запускаете свое приложение, делайте это:

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
Boolean isUserRegistered = prefs.getString("userRegistered", false); //False is a default value
if (isUserRegistered) {
  startActivity(new Intent(this,Login.class));
}
else{
  startActivity(new Intent(this,Register.class));
} 

//Shorter way
startActivity(isUserRegistered ? new Intent(this,Login.class) : new Intent(this,Register.class));

Вы можете сделать это в SplashActivity, чтобы вы могли сделать что-то вроде этого guy Splash Пример активности

70
задан ergosys 17 March 2012 в 05:25
поделиться

7 ответов

  • Гораздо сложнее создавать компоненты, в которых используется более двух состояний / уровней / чего угодно. Например, транзисторы, используемые в логике, либо закрыты и не работают вообще, либо широко открыты. Полуоткрытое открытие потребовало бы гораздо большей точности и использования дополнительной мощности. Тем не менее, иногда больше состояний используется для упаковки большего количества данных, но редко (например, современная флэш-память NAND, модуляция в модемах).

  • Если вы используете более двух состояний, вы должны быть совместимы с двоичным, потому что остальной мир использует это. Три вышли, потому что преобразование в двоичный код потребует дорогого умножения или деления с остатком. Вместо этого вы переходите непосредственно к четырем или более высокой степени двух.

Это практические причины, почему это не сделано,

59
ответ дан 24 November 2019 в 13:21
поделиться

Я считаю, что это по двум причинам (пожалуйста, исправьте меня, если я ошибаюсь): во-первых, потому что значения 0 и 1 на самом деле не являются текущими / текущими или что-то похожее. Шум довольно высок, и электронные компоненты должны быть в состоянии различить, что значение, колеблющееся, скажем, от 0,0 до 0,4 - это ноль, а от 0,7 до 1,2 - это единица. Если вы добавите больше уровней, вы в основном усложните это различие.

Второе: вся логическая логика немедленно перестанет иметь смысл. И так как вы можете реализовать sum из логических элементов и из sum, в любую другую математическую операцию, лучше иметь что-то, что хорошо отображает практическое использование для математики.

2
ответ дан 24 November 2019 в 13:21
поделиться

Тройной эквивалент «бита» вызвал слишком много возмущения!

3
ответ дан 24 November 2019 в 13:21
поделиться

Ну, во-первых, единица информации не меньше, чем бит. работа с битами - это самый основной и фундаментальный способ обработки информации.

Возможно, более веская причина в том, что гораздо проще создавать электрические компоненты, которые имеют два стабильных состояния, а не три.

В стороне: Ваша математика немного не в порядке. в 64-значном трехзначном числе приблизительно 101,4 двоичной цифры. Объяснение: наибольшее 64-значное трехзначное число - 3433683820292512484657849089280 (3 ^ 64-1). чтобы представить это в двоичном виде, требуется 102 бита: 101011010101101101010010101111100011110111100100110010001001111000110001111001011111101011110100000000

Это легко понять, log2 (3 ^ 64) составляет около 101.4376

7
ответ дан 24 November 2019 в 13:21
поделиться

Во многом это связано с тем фактом, что в конечном итоге биты представляются в виде электрических импульсов, и их легче создавать аппаратные средства, которые просто различают «заряженный» и «не заряженный», и легко обнаруживать переходы между состояниями. Система, использующая три состояния, должна быть немного более точной в различении между «заряженным», «частично заряженным» и «бесплатным». Кроме того, «заряженное» состояние не является постоянным в электронике: энергия начинает со временем «истекать», поэтому «заряженное» состояние изменяется по фактическому «уровню» энергии. В системе с 3 состояниями это также должно быть учтено.

10
ответ дан 24 November 2019 в 13:21
поделиться

Конечно, мы сможем хранить больше данных на бит, как наша десятичная система счисления может хранить гораздо больше данные в одной цифре.

Но это также увеличивает сложность. Двоичный код ведет себя очень хорошо во многих случаях, что делает его удивительно простым в управлении. Логика двоичного сумматора гораздо проще, чем логика для троичных чисел (или, в этом отношении, десятичных).

Вы не сможете волшебным образом хранить или обрабатывать больше информации. Аппаратное обеспечение должно быть настолько большим и сложным, что более чем компенсирует большую емкость.

16
ответ дан 24 November 2019 в 13:21
поделиться

Вам следует прочитать статьи о российском троичном компьютере:

10
ответ дан 24 November 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: