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

арифметика указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ DWORD не инициализируется http://www.cyberforum.ru/cpp-beginners/thread1069369.html
Пишу в Visual Studio 2008 #include "stdafx.h" #include <windows.h> #include <iostream> #include <process.h> В функции ошибка: использована неинициализированная локальная переменная...
C++ деление битов по полам Доброго времени суток. Имеется такой вопрос: как поделить инт на два инта так, чтобы в каждом из дочерних было по половине битов из начального инта, меньше, чем за 3 сдвига? Мой алгоритм такой: int... http://www.cyberforum.ru/cpp-beginners/thread1069361.html
Исправить ошибку повреждения кучи C++
Т.к. самостоятельно изучаю с++ нужна ваша помощь, а именно: пожалуйста,помогите исправить ошибку повреждения кучи и дайте советы по коду в общем( за исключением оформления по стандартам ООП) ...
C++ Выведите в окно приложения прочитанную фамилию и оставшееся "время жизни" до 3000г
Помогите, пожалуйста, с решением задачи. условие: "запишите в файл фамилию и год рождения. Выведите в окно приложения прочитанную фамилию и оставшееся "время жизни" до 3000г." буду очень благодарен...
C++ Шифрование http://www.cyberforum.ru/cpp-beginners/thread1069325.html
Собственно, вопрос не совсем по си++, но нашел это место оптимальным. Так вот, речь пойдет о шифровании. А точнее: стоит ли уповать на то, что алгоритм шифрования никто не знает? Или же это как...
C++ Матрица m x n. Найти макс значение среди средних значений для каждой строки матрицы. Вернуть номер строки Здравствуйте. Код есть, но ведет себя не стабильно. Выводит не то, что нужно. Прошу помочь. matrix.cpp #include <iostream> #include "matrix.h" using namespace std; Matrix::Matrix(int rows,... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6631 / 5038 / 466
Регистрация: 14.02.2011
Сообщений: 16,849
12.01.2014, 16:17
Цитата Сообщение от AndrSlav Посмотреть сообщение
"переменная A типа int приводится к типу unsigned" приводится к бесзнаковому типу и остается -2? В сумме с B дает -1?
у безнаковой нет знака
значит -2 в безнаковой записи будет 4294967294 (и то и другое 0xfffffffe)
теперь прибавляем 1 и получаем 4294967295 (0xffffffff)
допустим указатель указывает на адрес 256(0х100)
прибавляем
0х100+0xffffffff=0х1000000FF
вылетели за пределы массива
так будет на 64 битной платформе
А что буде на 32 битной?
результат тот же но старшая единица не влазит в разрядную сетку и отбрасывается
результат 255(0х000000FF)
все в порядке, об этом и речь в твоей ссылке
правда я не уверен( проверять надо), что
-2 будет 0x00000000fffffffe а не 0xfffffffffffffffe
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru