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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
#1

Не могу объяснить, откуда получается именно такое значение - C++

16.11.2015, 19:46. Просмотров 621. Ответов 24
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h"
#include "conio.h"
 
int _tmain(int argc, _TCHAR* argv[])
{
    unsigned char j=256;
    int g=~j;
    printf("%i",g);
    getch();
    return 0;
}
код написан, значение выводиться(-1значение), не могу понять почему именно такое значение(
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2015, 19:46
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Не могу объяснить, откуда получается именно такое значение (C++):

Простая и интересная задачка по C++: объяснить почему результат работы программы именно такой, какой он есть - C++
Всем привет, я сам ещё новичок в C++(< 2 лет изучаю), но уже что-то понимаю и решил сделать задачу на основы языка для совсем зелёных, для...

Объяснить от чего зависит размер указателя и что такое арифметика указателей - C++
Уважаемые программисты, возник вопрос. По умолчанию указатель любого типа может иметь только 4 байта. Но взглянем на следующий код: ...

Пошагово объяснить, что происходит в цикле и как получается указанный результат - C++
Господа, программисты, подскажите дураку почему тут 120 получиться должно? Задача из ЕГЭ. Спасибо большое! #include<stdio.h> ...

Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере - C++
Есть класс, содержащий объекты и конструктор. Конструктор объявляется в одном из cpp файлов(их несколько). Можно ли, как-то, использовать...

Не могу представить (объяснить) - C++
#include <iostream> char board = {}; void clearscreen(){ for(int i = 0; i<40; i++){ std::cout<<std::endl; } ...

Не могу объяснить программу - C++
#include "stdio.h" #include <iostream> #include <string.h> #include <conio.h> //int _tmain(int argc, _TCHAR* argv) //{ ...

24
Velesthau
524 / 426 / 129
Регистрация: 25.11.2014
Сообщений: 1,662
16.11.2015, 19:57 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
256 - это 0 при записи в байт (так как оно туда не поместится). not на 0, это все единицы в бинарном коде. То есть, -1.
1
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
16.11.2015, 20:26  [ТС] #3
Velesthau, спасибо, что такое not(нет)?
0
Velesthau
524 / 426 / 129
Регистрация: 25.11.2014
Сообщений: 1,662
16.11.2015, 20:35 #4
sodaily, побитовое отрицание.
0
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 20:42  [ТС] #5
Velesthau, а откуда минус взялся то?
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 20:46 #6
Цитата Сообщение от sodaily Посмотреть сообщение
Не могу объяснить, откуда получается именно такое значение
А какое значение ты ожидаешь?
0
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 20:47  [ТС] #7
castaway, никакого значения не ожидала, просто нужно было вывести результат и объяснить почему именно так вышло
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 20:52 #8
Цитата Сообщение от sodaily Посмотреть сообщение
castaway, никакого значения не ожидала, просто нужно было вывести результат и объяснить почему именно так вышло
А результат - это не значение?
0
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 20:55  [ТС] #9
castaway, я не так поняла вопрос ваш вопрос. Я не могу объяснить почему именно такой результат получился и с минусом вдобавок, а не 0 или 1 например
0
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 21:08  [ТС] #10
castaway,необходимо объяснить почему выводиться -1(А не какое то другое значение) и откуда это значение берется? как еще сформулировать я не знаю!!! предыдущий отвечающий все понял!!!
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 21:11 #11
Цитата Сообщение от sodaily Посмотреть сообщение
предыдущий отвечающий все понял!!!
Предыдущий отвечающий - телепат, а я - нет.
0
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 21:12  [ТС] #12
castaway, ты понимаешь почему получился-1? я не понимаю, и я прошу чтобы мне объяснили почему так получилось
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 21:16 #13
Цитата Сообщение от sodaily Посмотреть сообщение
castaway, ты понимаешь почему получился-1? я не понимаю, и я прошу чтобы мне объяснили почему так получилось
Я понимаю почему выводится именно это значение, но я не понимаю твоих вопросов.
Спрошу ещё раз. Что по твоему должно выводится?
1
sodaily
0 / 0 / 0
Регистрация: 02.11.2014
Сообщений: 121
17.11.2015, 21:24  [ТС] #14
castaway, результат вывелся верный, такой какой написан в ответах!но я не понимаю как объяснить почему побитовое отрицание на 256 равняется -1. вопрос ставился: откуда взялся такой результат и почему?

Добавлено через 1 минуту
Цитата Сообщение от castaway Посмотреть сообщение
Что по твоему должно выводится?
это и должно выводиться,я и ожидала - 1
0
castaway
Эксперт С++
4926 / 3033 / 372
Регистрация: 10.11.2010
Сообщений: 11,084
Записей в блоге: 10
Завершенные тесты: 1
17.11.2015, 21:33 #15
Цитата Сообщение от sodaily Посмотреть сообщение
но я не понимаю как объяснить почему побитовое отрицание на 256 равняется -1
Тип unsigned char вмещает значения максимум 255. 256 - это уже переполнение.

Знак %i в printf означает вывод целого знакового числа.

Добавлено через 1 минуту
Цитата Сообщение от sodaily Посмотреть сообщение
это и должно выводиться,я и ожидала - 1
"это" - это что?
0
17.11.2015, 21:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2015, 21:33
Привет! Вот еще темы с ответами:

Не получается вытащить именно то значение input, что введено в данный момент - jQuery
Здравствуйте Из этого поля мне нужно вытащить значение, которое введено в данный момент в него, не то что прописано в тэге, а то что я...

Разобраться с частью программы, а именно какой массив и откуда передаётся в TextBox - C#
Доброго времени суток! Помогите разобраться с частью программы, а именно какой массив и откуда передаётся в textBox2. using...

Откуда Aida64, Everest и т.п. берут информацию о конфигурации компьютера, где именно хранится эта информация ? - Серверы
Привет, интересует ряд вопросов. Откуда программы такие как Aida64, Everest и т.п. берут информацию о конфигурации компьютера, где...

Найти ошибки и исправить их, проанализировать полученные результаты и объяснить, почему они именно такие - C (СИ)
Помогите,пожалуйста решить задачу, всей группой решить не можем) Постановка задачи Набрать текст программы, найти в нем ошибки и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru