Перейти к содержимому

Фотография

Задача про существование треугольника — почему 2 в степени 64?


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 10

#1 Vilker

Vilker

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 15 февраля 2018 - 15:32

Всем привет.
Грубо говоря только начал изучать тестирование и дали задание читать книгу "Тестирование программного обеспечения" С.Куликов, без разъяснений пока что. И в самом начале книги есть задача:
"Задание 1.1.a: представьте, что ваша программа по трём введённым целым числам определяет, может ли существовать треугольник с такими длинами сторон. Допустим, что ваша программа выполняется в некоей изолированной идеальной среде, и вам все-го-то осталось проверить корректность её работы на трёх 8-байтовых знаковых целых числах. Вы используете автоматизацию, и компьютер может провести 100 миллионов проверок в секунду. Сколько займёт проверка всех вариантов?"

Ответ: около 2e+42 лет, т. е. примерно в 1.66e+32 раза больше, чем текущий возраст Вселенной.
Решение: (2 в степени 64 * 2 в степени 64 * 2 в степени 64) / (100’000’000 * 31536000примерно секунд в году) = 1.9904559029003934436313386045179e+42 лет.

Я может чтото не понимаю, но почему 2 в степени 64. Ну 64 это бит, но откуда два )

Объясните пожалуйста. Заранее спасибо.


  • 0

#2 wisegrey

wisegrey

    Новый участник

  • Members
  • Pip
  • 61 сообщений
  • ФИО:Роман Претер
  • Город:Хайфа‎

Отправлено 15 февраля 2018 - 15:47

Бит может быть либо 1 либо 0. Т.е. у нас два варианта. И 64 позиции на которых эти варианты возможны. Т.е. вариантов в одном из трёх чисел у нас 2 в степени 64


  • 0

#3 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 февраля 2018 - 20:41

Говорят, иногда, бит бывает в трех состояниях. Я не видел этого, но говорят. Так что может и 3 в 64 степени быть.

PS. Это для олдскульных инженеров.

 

А так Вы, 

wisegrey, абсолютно правы.  :yu: 
  • 1

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#4 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 15 февраля 2018 - 20:45

Теорвер для тестировщика обязательная дисциплина. Ну, если хочет подняться хотя бы на 4 уровень мага.


  • 1

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#5 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 16 февраля 2018 - 08:52

Бит таки минимальная единица информации обрабатываемая ЭВМ. Учитывая что машинки сейчас, в массе своей, работают в двоичной системе счисления то и состояний у бита 2.

А тем, кто забывает про компьютеры с троичной системой счисления, скоро квантовые компьютеры кубитом по голове настучат.
  • 0

#6 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 16 февраля 2018 - 09:11

А, да. Еще такая шняга. Байт это не обязательно 8 бит. Может быть и 7, и 6, и черт знает сколько еще значений. Про все даже не знаю. Но это так. Скорее история.


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#7 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 16 февраля 2018 - 12:37

Коллеги, не пугайте людей))
А ведь придем к тому, бит в байте 9, но один служит для контроля четности. И смысловой нагрузки не несет))
  • 0

#8 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 16 февраля 2018 - 13:47

Коллеги, не пугайте людей))
А ведь придем к тому, бит в байте 9, но один служит для контроля четности. И смысловой нагрузки не несет))

2Vilker

Не пугайтесь. Это для смены аспекта мышления.

 

 

Нил: Чёрные червы, красные пики, но это же обман?
Рэй: Аа! Опыт приучил вас думать, что все червы красные, а пики чёрные, их формы схожи и мозгу проще интерпретировать их, исходя из прошлого опыта, нежели из идеи, что они могут отличаться. Мы видим то, что ожидаем увидеть, а необязательно правду. Дети, не игравшие в карты, легко проходят этот тест. Невольно задумаешься, что ещё мы можем увидеть услышать, ощутить, потому что приучены к другому. Зато, если повторить тест, вы справитесь, зная, что бывают чёрные черви и красные пики, вы можете их различить. Наш мозг — как система национальных автострад. Проще ехать от одного хорошо известного места до другого, но вот те, что между ними — как бы в стороне. Они существуют, но большинство просто пролетает мимо.
Нил: Хороший фокус. Но игр с чёрными червами и красными пиками нет.
Рэй: А откуда ты знаешь?

 

 

 

Вы тестировщик. Мы думаем по другому.


Сообщение отредактировал SALar: 16 февраля 2018 - 14:18

  • 1

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#9 spielka

spielka

    Новый участник

  • Members
  • Pip
  • 1 сообщений

Отправлено 02 марта 2019 - 07:21

Я в этом задании больше зависла над тем, что целое знаковое число, а значит там уже каждый байт 27 (один байт для знака резервируется)... Хотя мозгом понимаю, что треугольника с отрицательными сторонами как бы не бывает, но написано же "знаковое". Отрицательные числа отбросила, считала только положительные. И естественно ответ не тот получился.

Но до сих пор думаю, зачем тогда писать про знаковое число, а потом все равно брать 264... Подскажите пожалуйста, где я не в ту сторону мыслями пошла? Когда переводила 1 байт в 8 байтовое целое число, там же не в каждом байте надо резервировать 1 бит для знака? Или вообще надо выкинуть эту мысль о знаковом числе?


  • 0

#10 buskonikolay

buskonikolay

    Новый участник

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Бусько Николай Васильевич

Отправлено 23 октября 2019 - 13:01

Тоже начал читать книгу, может чего не понимаю.

(2 в степени 64 * 2 в степени 64 * 2 в степени 64) - это будет число всех вариантов проверок

их делим на 100 миллионов, и получаем количество секунд необходимых для всей проверки

Почему, что бы посчитать количество лет, мы множим а не делим на количество секунд в году

допустим у нас для выполнения проверки нужно 31536000 секунд - делим на количество секунд в году и получаем примерно один год

/ (100’000’000 * 31536000примерно секунд в году) = 1.9904559029003934436313386045179e+42 лет.


  • 0

#11 Sergii_N

Sergii_N

    Новый участник

  • Members
  • Pip
  • 1 сообщений
  • ФИО:Надеев Сергей Николаевич

Отправлено 10 декабря 2020 - 13:38

Я считал так 2^(7+8+8) * 2^(7+8+8) * 2^(7+8+8) вариантов. Первая степень 7, потому что отрицательные мы отбрасываем (а что с 0, кстати?), т.е. первый бит трёхбайтового числа уходит на знак. И это число, деленное на 10^8 и будет ответом (в секундах) на задачу. Т.е. 2^(23+23+23) / 10^8 = 5 902 958 103 587,05651712 секунд. Гугл мне подсказал, что это 187 181 лет, 6 месяцев, 3 недели, 5 суток, 20 часов, 19 минут и 30 секунд примерно...

 

Почему вы берёте 2^64, ведь отрицательные значения надо отбросить?


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных