Да вопрос я не дочитал, много текста, решил сразу с алгоритмом разобарться.
На счет double - почитайте перевод IEEE754: www.softelectro.ru/teoriy.html
В числах с плавающей точкой не обойтись одной мантиссой, число всегда нормализуется, соответственно используется и экспонента. И делается это процессором, повлиять на это, думаю нельзя.
Кстати, на том же сайте по ссылке выше есть программа, в которой можно посмотреть как выглядят числа в формате с плавающей точкой, так же она показывает разницу между исходным числом и тем, что хранится в double или float (приближенным его значением).
Ну и кроме того, во втором задании в последнем предложении: "хранить их примерное количество в переменной типа double". Раз примерное количество, то это уже не только мантисса, значит нужно взять максимально возможное положительное число для double и плясать от него (~1.8*10^308), для такого количества риса потребуется 1024 клетки. Не понятно, почему Страуструп пишет, что double не может хранить содержимое 64 клеток. Может я что-то не догоняю в этой задаче.
Ну и на последок - алгоритм с битовыми операциями можно заменить на log2(x) с округлением до целых.
qqqww121: Согласен, правда не уверен что у SQLServer Browser можно поменять порт. Эта служба как раз и предназначена, чтоб сообщать другим на каком порту работает сам SQL Server, поэтому у нее должен быть один статический порт. Если она будет слушать на другом порту, то ее саму никто не найдет :-).
Собственно MS SQL вообще может не использовать TCP/IP для работы. Поэтому и предложил другой вариант.
Но конфигурация по умолчанию с использованием TCP/IP и включенным SQLBrowser на udp/1434.
Кроме того, если к компам есть админский доступ, то можно подключаться к каждому и смотреть запущенные процессы, на предмет наличия процесса sqlserv.exe. Все это можно делать с помощью wmic, в т.ч. удаленно.
std:setlocale тебе в помощь https://habrahabr.ru/post/164193/ https://habrahabr.ru/post/107679/
С кодировками не все просто. Например, для консольного приложения в Windows есть кодировка консоли; кодировка текста, возвращаемая/принимаемые системными функциями (например получаемые от ОС имена файлов, содержащие кирилические символы); кодировка строк в исходниках программы.
Проще всего файлы программы всегда писать в UTF8 и программу собирать с поддержкой Unicode, тогда надо будет конвертировать только 2 кодировки Unicode и кодировку консоли. Причем кодировка консоли для русской винды может быть как 866 так и 1251. Все строковые литералы объявлять с префиксом L (L"текст"), для строк использовать тип wchar_t* или std::wstring.
В никсах, на сколько я знаю, дело обстоит не лучше. В консоли своя кодировка, в графической оболочке своя, в файловой системе своя (причем в каждой ФС может быть своя собственная кодировка).
Про double/float - это числа с плавающей точкой (дробные). Они представляют приближенное значение. До некоторых пор, пока хватает разрядной сетки представление точное, после - приближенное. Почитай статью на вики про числа с плавающей точкой.
Возьми старую версию - 7 попробуй.
Если хочешь сделать фаервол/шлюз - то на третьем пеньке может значительно просесть производительность, т.е. он тупо не будет справляться.
Сталкивался с этим. В моем случае был фаервол с кучей правил, возможно если фаер без наворотов, то работать будет быстрее.
Лучше, конечно АД, много проблем решит.
Но можно и без нее:
1.Всем пользователям урезать права до пользовательских
2.завести на всех компах общую учетку админа с одинаковым паролем, для серверов лучше отдельного админа.
3.включить везде удаленный рабочий стол
4.включить службу удаленного реестра и удаленный WMI (открыть tcp/135)
5.Если не выключен UAC (а лучше оставить его включенным) для ОС от Висты и дальше: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy=1 - позволяет удаленно выполнять административные задачи (https://support.microsoft.com/ru-ru/kb/951016), например полноценный доступ к админским шарам или удаленный запуск приложений с админскими привилегиями.
С убунты админить винду не удобно (нет wmi, нет виндовой ком.строки и т.п.), проще всего будет удаленно подключаться к серверу и снего выполнять все что нужно.
И осваивай cmd или ps и wmi, т.к. без АД для задач, которые надо будет производить на всех компах в сети, нужно будет делать скрипты.
Ничего толком на скриншоте не могу разобрать.
Для борьбы с вирусами попробуйте: если есть какой-либо live диск, то загрузитесь с него или загрузитесь в безопасном режиме Windows.
Почистите следующие каталоги: %TEMP%, "Temporary Internet Files" для каждого пользователя, c:\Windows\Temp.
Внимательно посмотреть ветки реестра: HKLM\Software\Microsoft\Windows\CurrentVersion\Run и аналогичную для HKCU. Поудалять оттуда все что считаете не нужным. Есть риск что удалите загрузку каких-либо частей драйверов или чего-то подобного, но винда от этого не умрет и дрова всегда можно будет переставить. Внимательно смотрите что именно удаляете, например если там написано запускать программу из каталога c:\program files\intel то это скорее всего как раз что-то от интеловского драйвера, т.е. лучше оставить, и т.п.
Oleg Shevelev: у delkov, по моему, на диск ничего писать не надо, все вычисления будут производится в памяти, поэтому полученное время можно смело делить на 2 - и к этому времени должен приближаться алгоритм, а то и меньше, т.к. операция записи медленнее, чем чтение. fshp: При таких объемах все кэши сдохнут очень быстро и начнется непосредственное чтение.
Интернет у вас есть. У вас где то блокируется трафик на 80 порт.
Это может быть или сам комп или роутер.
Проверьте настройки IE - Сервис - Свойства браузера - Подключения.
1.Убедитесь, что не используются "настройки коммутируемого соединения"
2.Там же в "настройках сети" проверьте, чтоб не использовался прокси-сервер и сценарий автоматической настройки.
3.На компе отключите антивирус и брандмауэр (только для тестов и проверки).
Проверьте подключение в браузере. Если изменяли настройки IE, то перезайдите в браузер.
Если не поможет. Поставить другой браузер и попробовать там с параметрами по умолчанию.
Если не поможет - блокирует роутер.
Пишите сюда о результатах.
Настройки нормальные и ДНС то же функционирует.
А как вы проверяли первую команду, и из чего сделали вывод что "не соединяется". Попробуйте еще раз тут же в консоли
telnet google.ru 80
Если соединение проходит, то экран очищается, если нет - выдается сообщение об ошибке. Результат сюда.
На счет double - почитайте перевод IEEE754: www.softelectro.ru/teoriy.html
В числах с плавающей точкой не обойтись одной мантиссой, число всегда нормализуется, соответственно используется и экспонента. И делается это процессором, повлиять на это, думаю нельзя.
Кстати, на том же сайте по ссылке выше есть программа, в которой можно посмотреть как выглядят числа в формате с плавающей точкой, так же она показывает разницу между исходным числом и тем, что хранится в double или float (приближенным его значением).
Ну и кроме того, во втором задании в последнем предложении: "хранить их примерное количество в переменной типа double". Раз примерное количество, то это уже не только мантисса, значит нужно взять максимально возможное положительное число для double и плясать от него (~1.8*10^308), для такого количества риса потребуется 1024 клетки. Не понятно, почему Страуструп пишет, что double не может хранить содержимое 64 клеток. Может я что-то не догоняю в этой задаче.
Ну и на последок - алгоритм с битовыми операциями можно заменить на log2(x) с округлением до целых.