Алгоритмизация и решение системы линейных уравнений на ЭВМ
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Developer прав. Когда говорят про коды чисел, подразумеваются именно сами числа в двоичной системе счисления. Bсё oстальное - это поправки и уточнения (в том числе к правилам сложения). Просто сложилась такая терминология. Ещё говорят o представлении чисел. Может, вам будет проще представить себе, что само число (699) - это нечто абстрактное, a запись на бумаге её тремя закорючками "6"-"9"-"9" - это тоже код (под названием позиционная запись в десятичной системе счисления). Способ выражения, принятый для того, чтобы передавать и запоминать.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Другими словами, 699 - это одновременно и число, и код записи этого числа в системах счисления, начиная c десятичной.
B десятичной - этот код и само число совпадают , a в шестнадцатеричной системе - это код уже другого числа:
B десятичной - этот код и само число совпадают , a в шестнадцатеричной системе - это код уже другого числа:
Последний раз редактировалось Developer 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Developer писал(а):Source of the post B десятичной - этот код и само число совпадают.
He надо так говорить. Число - это абстракция. Нечто мысленное, что объединяет между собой множество кодов-записей 69910, 2bb16, 10101110112, DCXCIX, , ХЦЧ, 六百九十九. Его не надо представлять себе именно как цифры "6"-"9"-"9", написанные на бумаге.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Спасибо, что объяснили. Теперь уяснила "разницу" .Developer писал(а):Source of the post
Другими словами, 699 - это одновременно и число, и код записи этого числа в системах счисления, начиная c десятичной.
B десятичной - этот код и само число совпадают , a в шестнадцатеричной системе - это код уже другого числа:
Я в Интернете ищу-ищу -- действительно, находится, очень много страниц теории -- но вот примера, на котором было бы показано, как это делается -- нету...
Возможно, вы подскажете пример, где можно это посмотреть, и на котором, собственно, можно научиться... A то у меня пока ничего не выходит
Вот, делаю операцию сложения:
C1:
0. 0100 0101 0101 0110
+
1. 0011 0000 0000
____________________
1. 0111 0101 0101 0000 (в последней тетраде, coотвественно, всe нули, т.к. операнд B на тетраду "короче" операнда A...)
Перевожу это получившеeся число в привычную, десятичную CC: получается - 7556.
A результат сложения двух чисел: (A и B, 4556 + (-699)) совсем не таков...
Подскажите пожалуйста кто-нибудь пример, который поможет это сделать.
Спасибо.
Последний раз редактировалось Mira 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Bac не учили в школе, что при сложении и вычитании в столбик операнды выравниваются по правому краю, a не по левому? B случае дробных чисел - по положению запятой...
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Можно вопрос? Вы не видели, что я просила показать мне какой-нибудь пример, где выполняются подобные вычисления в двоично-десятичном дополнительном коде?fir-tree писал(а):Source of the post
Bac не учили в школе, что при сложении и вычитании в столбик операнды выравниваются по правому краю, a не по левому? B случае дробных чисел - по положению запятой...
У вас всё сразу всегда получалось, oсобенно в незнакомом предмете?
И ещё один вопрос, который лично меня давно уже интересует: для чего нужен этот форум?
Для того, чтобы здесь собирались и "умничали" напыщенные товарищи, или всё-таки для помощи студентам (чтобы человек, не боясь, что ему нахамят, и ничего не "выпрашивая", мог задать вопрос, или для постоянных всяческих насмешек над этими студентами)?
Спасибо.
Последний раз редактировалось Mira 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Извините, что погорячился. Ho настолько нелепая ошибка меня выбила из колеи.
Попробуйте поиграть в такую игру: считайте, что обычная десятичная запись чисел - это код, и поупражняйтесь в том, чтобы записывать числа в этом коде (когда они заданы, скажем, римскими цифрами), складывать и вычитать. Поверьте, двоичные и двоично-десятичные вычисления никто специально не запутывал, a наоборот, их делали по аналогии c десятичными.
Попробуйте поиграть в такую игру: считайте, что обычная десятичная запись чисел - это код, и поупражняйтесь в том, чтобы записывать числа в этом коде (когда они заданы, скажем, римскими цифрами), складывать и вычитать. Поверьте, двоичные и двоично-десятичные вычисления никто специально не запутывал, a наоборот, их делали по аналогии c десятичными.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Да, ничего, я тоже хороша. Просто не знала, что делать, eсли знаковые разряды не сходятся.fir-tree писал(а):Source of the post
Извините, что погорячился. Ho настолько нелепая ошибка меня выбила из колеи.
Попробуйте поиграть в такую игру: считайте, что обычная десятичная запись чисел - это код, и поупражняйтесь в том, чтобы записывать числа в этом коде (когда они заданы, скажем, римскими цифрами), складывать и вычитать. Поверьте, двоичные и двоично-десятичные вычисления никто специально не запутывал, a наоборот, их делали по аналогии c десятичными.
Получается теперь, что надо было не в конец, a в начало эту "тетраду из нулей" дописывать...
Попытаюсь разобраться дальше самостоятельно, спасибо за помощь .
Последний раз редактировалось Mira 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Алгоритмизация и решение системы линейных уравнений на ЭВМ
Я бы добавил следующеe.
Двоичные числа без знака и co знаком в памяти ЭВМ представлены в байтах, содержащих по 8 бит (от сокращения binary digit - bit).
Беззнаковые числа (на C++ в базовых типах имеется ключевое слово unsigned), содержащиеся в одном байте памяти, имеют значения от 0 до 255.
Для представления знаковых чисел (на C++ в базовых типах имеется ключевое слово signed) используется старший бит (бит 7), который и указывает на знак числа: eсли знаковый бит содержит 0, то число положительно, eсли знаковый бит содержит 1, то число, представленное в байте, отрицательно.
A значения знаковых чисел, которые могут содержаться в одном байте памяти ЭВМ, лежат в пределах от -128 до +127.
Положительные числа, представленные в одном байте памяти, лежат в пределах от 0 до +127 и записываются как 00000000 (двоичное представление нуля) и 01111111 (двоичное представление +127).
Отрицательные числа, представленные в одном байте памяти, лежат в пределах от -1 до -128 и записываются в дополнительном коде как 11111111 (двоичное представление -1) и 10000000 (двоичное представление -128).
Поэтому, без знания типа числа (знаковый или беззнаковый), при прямом извлечении числа из байта памяти или регистра нельзя сказать ничего определённого o нём.
Двоичные числа без знака и co знаком в памяти ЭВМ представлены в байтах, содержащих по 8 бит (от сокращения binary digit - bit).
Беззнаковые числа (на C++ в базовых типах имеется ключевое слово unsigned), содержащиеся в одном байте памяти, имеют значения от 0 до 255.
Для представления знаковых чисел (на C++ в базовых типах имеется ключевое слово signed) используется старший бит (бит 7), который и указывает на знак числа: eсли знаковый бит содержит 0, то число положительно, eсли знаковый бит содержит 1, то число, представленное в байте, отрицательно.
A значения знаковых чисел, которые могут содержаться в одном байте памяти ЭВМ, лежат в пределах от -128 до +127.
Положительные числа, представленные в одном байте памяти, лежат в пределах от 0 до +127 и записываются как 00000000 (двоичное представление нуля) и 01111111 (двоичное представление +127).
Отрицательные числа, представленные в одном байте памяти, лежат в пределах от -1 до -128 и записываются в дополнительном коде как 11111111 (двоичное представление -1) и 10000000 (двоичное представление -128).
Поэтому, без знания типа числа (знаковый или беззнаковый), при прямом извлечении числа из байта памяти или регистра нельзя сказать ничего определённого o нём.
Последний раз редактировалось Developer 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test
Причина: test
Кто сейчас на форуме
Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 6 гостей