![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
![]()
Доброго дня и ночи! Имеется несколько задач, в которых общими словами является размер ячейки:
1. В ячейке, размером в 1 байт, записана константа F3. Какое десятичное значение этой константы, если: F3 - беззнаковая константа; F3 - знаковая константа. 2. В ячейке, размером в 1 байт, выполнить вычитание двоичных чисел: 87 + 42 Объяснить полученный результат. 3. В ячейке, размером в 1 байт, сложить две знаковые константы: 68 +57 Объяснить полученный результат. С 16- и 2-ной системами исчисления работал, хорошо умею в них считать. Не совсем понимаю, как производятся вычисления, в зависимости от размера ячейки или того, что у нас знаковая или беззнаковая константа.
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 16.11.2009
Сообщений: 24
|
![]()
char принимает значение -128...127
unsigned char принимает значение 0...255 Соответственно все значения будут в тех пределах, думаю со сложением и вычитанием разберешься тогда) |
![]() |
![]() |
![]() |
#3 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#4 |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
![]()
Я просто скопировал задачу с методички ХНУРЭ.
1. + действительно не может быть знаком вычитания. 2. F3, возможно, шестнадцатеричное число: 0xF3 или 243
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 16.11.2009
Сообщений: 24
|
![]()
для unsigned 0xF3 будет 243
для signed 0xF3 будет -13 а вот 68 +57 - это числа 0x68 и 0x57, или десятичные? |
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
F3=243 в беззнаковой и -13 в знаковой (если калькулятор не врет).
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
![]() Цитата:
Где знак "!" обозначает инверсию числа, т.е. все единицы заменяем нелями, все нули единицами. Проверим, так ли это. Числа 0x32 - 0x18 = 0x1A. Число 0x18 в двоичном формате имеет значение 00011000. Делаем его дополнение 11100111 + 1 = 11101000 + 00110010 = 11A. Убираем перенос в старший разряд и получаем 1A, что и требовалось доказать. Сложение сработало как вычитание.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
![]() |
![]() |
![]() |
#8 |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
![]()
Как это вычислить??? Помогите методикой!
![]()
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
|
![]() |
![]() |
![]() |
#9 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Negent, вам это постом выше описали. Инвертируете биты в числе и прибавляете 1.
Код:
|
![]() |
![]() |
![]() |
#10 | |
Студент
Пользователь
Регистрация: 11.06.2010
Сообщений: 39
|
![]() Цитата:
Я уже понял что: Кроме трактовки типов данных с точки зрения их разрядности, микропроцессор на уровне команд поддерживает логическую интерпретацию этих типов: * Целый тип со знаком — двоичное значение со знаком, размером 8, 16 или 32 бита. Знак в этом двоичном числе содержится в 7, 15 или 31-м бите соответственно. Ноль в этих битах в операндах соответствует положительному числу, а единица — отрицательному. Отрицательные числа представляются в дополнительном коде. Числовые диапазоны для этого типа данных следующие: - 8-разрядное целое — от –128 до +127; - 16-разрядное целое — от –32 768 до +32 767; - 32-разрядное целое — от –231 до +231–1. * Целый тип без знака — двоичное значение без знака, размером 8, 16 или 32 бита. Числовой диапазон для этого типа следующий: - байт — от 0 до 255; - слово — от 0 до 65 535; - двойное слово — от 0 до 232–1. Научиться бы высчитывать представление чисел в памяти, до понимания =)
"...Попытайся ухватить звёзды с небес, чем переживай, что до них не дотянуться..."
Последний раз редактировалось Negent; 28.08.2010 в 13:13. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Целочисленная арифметика | Neyrone | Помощь студентам | 4 | 11.03.2010 09:53 |
Длинная арифметика | Indira | Общие вопросы C/C++ | 2 | 24.01.2010 10:28 |
Арифметика в C | iggor | Помощь студентам | 3 | 01.12.2009 12:40 |