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

Что делает данный код и зачем такое кому-нибудь может понадобиться? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что делают операторы switch/case http://www.cyberforum.ru/cpp-beginners/thread39069.html
что делают функции : switch ? case ?
C++ Как узнать дату изменения файла? Как узнать дату изменения файла? Покажите, пожалуйста, на примере http://www.cyberforum.ru/cpp-beginners/thread39061.html
Работа со строками символов C++
Помогите решить пжл. Дан текст (2-3 строки) в файле F1. Описать функцию преобразования строки, которая заменяет все повторные вхождения символа пробел одним символом пробела, в начало строки добавляет слово "НАЧАЛО", а в конец слово "КОНЕЦ". Преобразовать все строки текста и записать новый текст в файл F2.
Гомоку ИИ C++
Люди! я в тупике...пишу прогу - игра "гомоку"(крестики нолики 5 в ряд)...сделал ее для двоих игроков...вроде нормально пашет....теперь надо сделать ИИ (3 уровня сложности). Все перепробовал - тупит жостко...если можете - подскажите плз Добавлено через 52 минуты 25 секунд розкажу в кратце....создал матрицу, крестик = 1, нолик = -1... for(i1=0;i1<nstr;i1++){ for(j1=0;j1<nstb;j1++){...
C++ Вычислить, сколько раз каждый элемент массива входит в массив http://www.cyberforum.ru/cpp-beginners/thread39022.html
1. Дано действительные числа q, r, b, c, d и натуральное n ( n >= 2 ). Пусть x(0)=c; x(1)=d; x(k)=qx(k-1)+rx(k-2)+b , где k=2, 3, . . . Получить х(n) (всё что в скобках-нижний регистр). 2. Задано одномерный массив целых чисел A. Вычислить, сколько раз каждый элемент массива входит в массив. ----------------------------- вот так надо сделать: есть массив чисел 454621435896521...
C++ прибытие самолетов #include<iostream.h> #include <math.h> #include<stdlib.h> #include <iomanip.h> #include<conio.h> #include<string.h> struct times { int hour; int minute; подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17624 / 5848 / 375
Регистрация: 30.03.2009
Сообщений: 16,124
Записей в блоге: 26
09.06.2009, 16:10
Цитата Сообщение от Patch Посмотреть сообщение
из-за чего интел и стал развивать технологию предсказания ветвлений.
Боюсь ошибиться, но branch prediction вроде бы не на интеле начали развивать.

К тому же статистика про переход на 8 операций - сама по себе ничего не говорит. Важно не сколько переходов, а насколько точно они предсказываются. На целочисленных задах как правило идёт куча ветвлений (if'ов) и предсказываемость здесь хуже. Плавающие задачи в основном состоят из циклов, где предсказатели как правило работаю хорошо. Ну это так, лирика

Цитата Сообщение от Patch Посмотреть сообщение
так что описанная мной ситуация - это нормально.
Если switch нормально пакуется в таблицу - это не нормально. Для компилятора.

Цитата Сообщение от Patch Посмотреть сообщение
C++
1
2
3
4
5
6
7
switch(i)
{
case 1: i = 500;
case 2: i =500000;
case 3: i = 0;
case 8: i = 15;
}
.
в ассемблере это выгляди так:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
text:00412D22                 jnz     short loc_412D5C
.text:00412D24                 mov     eax, ds:40003Ch
.text:00412D29                 cmp     dword ptr [eax+400000h], 4550h
.text:00412D33                 jnz     short loc_412D5C
.text:00412D35                 mov     ecx, 10Bh
.text:00412D3A                 cmp     [eax+400018h], cx
.text:00412D41                 jnz     short loc_412D5C
.text:00412D43                 cmp     dword ptr [eax+400074h], 0Eh
.text:00412D4A                 jbe     short loc_412D5C
.text:00412D4C                 xor     ecx, ecx
.text:00412D4E                 cmp     [eax+4000E8h], esi
.text:00412D54                 setnz   cl
.text:00412D57                 mov     [ebp-1Ch], ecx
.text:00412D5A                 jmp     short loc_412D5F
пожалуста вам: 4 последовательных сравнения.
В данном случае мы имеем разреженный switch. т.е. в таблице, которая захватывала бы весь диапазон, было бы более 99% дырок. Если отбросить альтернативу в 50000, то остаётся 3 альтернативы, которые незачем лепить в таблицу. Короткие и разреженные switch'и через таблицу не делают, ибо выходит дороже
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru