Подтвердить что ты не робот

Самое большое число на компьютере

Просто спросил мой пятилетний ребенок: какое наибольшее количество в компьютере?

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

Бесконечность не допускается.

ОБНОВЛЕНИЕ, мой малыш всегда хочет печатать как хорошо, поэтому давайте скажем, что компьютер нуждается напечатать это число, а Знайте, что это большое число. Конечно, на практике мы не будем печатать, потому что theres недостаточно деревьев.

4b9b3361

Ответ 1

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

Вкратце, парень по имени Тибор Радо решил найти действительно большие, но все же четко определенные цифры, определяя последовательность, называемую числами Busy Beaver. Он определил BB (n) как наибольшее количество шагов, которые могла бы предпринять любая машина Тьюринга перед остановкой, учитывая ввод n символов. Обратите внимание, что эта последовательность по самой своей природе не может быть вычислимой, поэтому сами цифры, хотя и четко определенные, очень трудно скопировать. Вот первые несколько:

BB(1) = 1
BB(2) = 6
BB(3) = 21
BB(4) = 107

... дождитесь его...

BB(5) >= 8,690,333,381,690,951

Никто не уверен, насколько велика именно BB (5), но она конечна. И никто не знает, как большой ВВ (6) и выше. Но по крайней мере эти цифры полностью определены математически, в отличие от "наибольшего числа, о котором когда-либо думал человек, плюс один".;)

Итак, как насчет этого:

Самый большой номер, который может представлять компьютер, - это большинство инструкций, которые программа достаточно мала, чтобы вписаться в ее доступную память, может выполнять до остановки.

Squared.

Нет, подождите, кубик. Нет, поднял до власти!

Проклятье!

Ответ 2

Биты - это не цифры. Вы, как программист, даете им то значение, которое вы хотите, возможно, цифры.

Теперь я решил, что 1 представляет собой "самое большое число, когда-либо думаемое человеком плюс один".

Ответ 3

Errr это пятилетний?

Как насчет чего-то вроде: "Я хотел бы рассказать вам, но число настолько велико и так долго будет говорить, что я умру, прежде чем я расскажу вам".

Ответ 4

//  wait to see
for(;;)
{
    printf("9"); 
}

Ответ 5

Примерно 2^AVAILABLE_MEMORY_IN_BITS

РЕДАКТИРОВАТЬ. Вышеупомянутое предназначено для фактического хранения номера и рассматривает все носители (ОЗУ, HD, облако и т.д.) как память. Вычитание размера ОС (измеренное в КБ) не делает "грубо" менее точным...

Если вы хотите "представить" число значимым образом, то вы, вероятно, захотите пойти с тем, что предоставляет ЦП: беззнаковые 32-битные целые числа (примерно 4 концерта) или неподписанные 64-битные целые числа для большинства компьютеров, которые придет ваш ребенок в контакте с.

ПРИМЕЧАНИЕ для общения с 5-летними: Часто они просто хотят, чтобы он был фактоидом. Дайте ему действительно большое и очень точное число (много цифр), например 4'294'967'295. Затем, как только остекление покидает его глаза, попробуйте посмотреть, как далеко вы сможете объяснить, как компьютеры представляют числа.

EDIT # 2: Я когда-то читал эту статью: Кто может назвать большее число strong > , который должен предоставить массу интересной информации для вашего малыша. Очевидно, он не ваш обычный пятилетний ребенок. Таким образом, это может привести к тому, что вы начнете в прохладном направлении относительно чисел и вычислений.

Ответ 6

Это зависит от типа данных, который вы используете для его представления. Компьютер сохраняет только биты (0/1). Мы, как разработчики, даем значение бит. (65 может быть числом или буквой A).

Например, я могу определить свой тип данных как 1^N, где N непознан и представлен массивом бит произвольного размера. Следующий человек может придумать 10^N, который будет в десять раз больше моего самого большого числа.

Конечно, были бы пробелы, но если они вам не нужны, это не имеет значения.

Следовательно, вопрос бессмыслен, поскольку он не имеет контекста.

Ответ 7

Ответ на жизнь (и этот детский вопрос): 42

Ответ 8

Размер, очевидно, будет ограничен общим размером жестких дисков, которые вы можете разместить на своем ПК. В конце концов, вы можете сохранить число в текстовом файле, занимающем все пространство на диске.

У вас могут быть диски 4x2Tb даже в простой коробке, поэтому доступно 8Tb. если вы храните двоичный файл, то наибольшее число 2 pow 64000000000000.

Ответ 9

Если ваш жесткий диск составляет 1 ТБ (8'000'000'000'000 бит), и вы напечатаете номер, который подходит на нем на бумаге, как шестнадцатеричные цифры (никто не сделает этого, но пусть предположим), что 2 000 000 000 000 шестнадцатеричных цифр.

Каждая страница будет содержать 4000 шестнадцатеричных цифр (40 х 100 цифр). Это 500 000 000 страниц.

Теперь уложите страницы друг на друга (пусть каждая страница имеет толщину 0,004 дюйма /0,1 мм), тогда стек будет иметь высоту 5 км (около 3 миль).

Ответ 10

Я попытаюсь дать практический ответ.

Общий <х130 > хруст числа особенно эффективен. У этого есть что-то, называемое "bignums", которое является целым числом, которое может быть сколь угодно большим, ограниченным количеством доступных.

Смотрите: http://en.wikibooks.org/wiki/Common_Lisp/Advanced_topics/Numbers#Fixnums_and_Bignums

Ответ 11

Не знаю много о теории, но, насколько я понял из вашего вопроса, это: какое наибольшее число может представлять компьютер (и я добавляю: в разумные сроки и не печатать "9" до Земля будет "съедена Солнцем" ). И я поставил свой компьютер на один простой расчет (на PHP или на любом другом языке): echo pow (2,1023) - результат: 8.9884656743116E + 307. Поэтому я думаю, что это самое большое число, которое может вычислить мой компьютер. С другой стороны, я думаю, что репрезентация наибольшего отрицательного числа может быть: -0, (0) 1

LE: Это вычисляемое значение было obataind через PHP, но я попытался выяснить, какое наибольшее число, которое может вычислить мой калькулятор Windows, и это pow (2, 33219) = 8.2304951207588748764521361245002E + 9999. Теперь я думаю, что это самый большой номер, который может обрабатывать мой компьютер.

Ответ 12

Зависит от того, насколько компьютер может работать. Хотя есть несколько случаев, когда компьютер может обрабатывать числа, превышающие (2 ^ (бит-1) -1)... Например: Мой компьютер 64 бит (9223372036854775807), однако калькулятор, который поставляется с самим компьютером, может обрабатывать номера до 10 ^ 9999.

Многие другие суперкомпьютеры могут превышать эти пределы, и тот, у которого больше всего памяти (бит), также может быть с записью (самое большое число, которое может удерживаться компьютерами).

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

Ответ 13

Хорошо, у меня был тот же вопрос в начале этого дня, поэтому подумал, почему бы не сделать несколько кодов С++, чтобы увидеть, где компьютер остановится... Но мой ноутбук не был со мной в классе, поэтому я использовал другой, ну, число было большим, но это никогда не заканчивается, я буду запускать его снова на ночь, тогда я поделюсь номером вы можете попробовать код глупо

    #include <stdlib.h>
#include <stdio.h>
int main(){
int i = 0;

for (i=0; i<=i; i++){
printf("%i\n",i);
i++;
}
}

И пусть он запускается до тех пор, пока он не остановится ^^