Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Замена sqrt операцией сдвига - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана строка. Определить, сколько в ней символов *, ;, : [Есть код на Pascal] http://www.cyberforum.ru/cpp-beginners/thread1302817.html
Нужно перевести этот код на С++ Uses crt; Var s: String; i,k1,k2,k3: Integer; BEGIN Clrscr; Writeln('Введите строку: '); Readln(s); For i:=1 to Length(s) do
C++ Поменять местами элементы в парах массива Добрый день, стоит задача в том, что: Дан произвольный одномерный массив, допустим 1 2 3 4 5 6 7 8 9 Задача состоит в том, чтоб поменять местами элементы в парах, пары считаются так: и , и , и... http://www.cyberforum.ru/cpp-beginners/thread1302811.html
C++ Расставить по очереди слова из цифр, из букв и смешанные.
Преобразовать строку так что бы сначала выводило слова состоящие только из цифр, потом только из букв, потом из букв и цифр
C++ Определение и использование шаблонов функций для обработки массивов
Помогите пожалуйста, нужно вывести данный массив в шаблонную функцию: #include <iostream.h> void f(int *b, int n,int i) { for (i = 0; i < n-1; i++){ int imin = i; for (int j = i + 1; j < n;...
C++ Дописать код http://www.cyberforum.ru/cpp-beginners/thread1302787.html
Уважаемые! Помогите пожалуйста с проблемой. Необходимо добавить в код, способ подсчета общей З\П, не как не могу сообразить, как это сделать. strcpy_s (Otche,Ot); strcpy_s ...
C++ Работа с файлами. Измените регистр алфавитных символов текста В файле test.in записан текст на английском языке. Измените регистр алфавитных символов. (Пример: "Hello, World!" Станет "hELLO, wORLD!"). Результат запишите в test.out. Для работы с файлами... подробнее

Показать сообщение отдельно
HighPredator
5541 / 1854 / 346
Регистрация: 10.12.2010
Сообщений: 5,470
Записей в блоге: 2
17.11.2014, 13:08
Выдрал с SO:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
short isqrt(short num) {
    short res = 0;
    short bit = 1 << 14; // The second-to-top bit is set: 1L<<30 for long
    // "bit" starts at the highest power of four <= the argument.
    while (bit > num)
        bit >>= 2;
    while (bit != 0) {
        if (num >= res + bit) {
            num -= res + bit;
            res = (res >> 1) + bit;
        }
        else
            res >>= 1;
        bit >>= 2;
    }
    return res;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru