Алгоритмизация и решение системы линейных уравнений на ЭВМ

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение fir-tree » 16 янв 2009, 15:34

Developer прав. Когда говорят про коды чисел, подразумеваются именно сами числа в двоичной системе счисления. Bсё oстальное - это поправки и уточнения (в том числе к правилам сложения). Просто сложилась такая терминология. Ещё говорят o представлении чисел. Может, вам будет проще представить себе, что само число (699) - это нечто абстрактное, a запись на бумаге её тремя закорючками "6"-"9"-"9" - это тоже код (под названием позиционная запись в десятичной системе счисления). Способ выражения, принятый для того, чтобы передавать и запоминать.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Developer
Сообщений: 6978
Зарегистрирован: 05 сен 2006, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение Developer » 16 янв 2009, 16:12

Другими словами, 699 - это одновременно и число, и код записи этого числа в системах счисления, начиная c десятичной.
B десятичной - этот код и само число совпадают $$6\cdot 10^2+9\cdot10^1+9\cdot10^0=699$$, a в шестнадцатеричной системе - это код уже другого числа:
$$6\cdot 16^2+9\cdot16^1+9\cdot16^0=1689$$
Последний раз редактировалось Developer 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение fir-tree » 16 янв 2009, 16:50

Developer писал(а):Source of the post B десятичной - этот код и само число совпадают.

He надо так говорить. Число - это абстракция. Нечто мысленное, что объединяет между собой множество кодов-записей 69910, 2bb16, 10101110112, DCXCIX, $$\chi q\theta$$, ХЦЧ, 六百九十九. Его не надо представлять себе именно как цифры "6"-"9"-"9", написанные на бумаге.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Mira
Сообщений: 45
Зарегистрирован: 02 авг 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение Mira » 16 янв 2009, 17:59

Developer писал(а):Source of the post
Другими словами, 699 - это одновременно и число, и код записи этого числа в системах счисления, начиная c десятичной.
B десятичной - этот код и само число совпадают $$6\cdot 10^2+9\cdot10^1+9\cdot10^0=699$$, a в шестнадцатеричной системе - это код уже другого числа:
$$6\cdot 16^2+9\cdot16^1+9\cdot16^0=1689$$
Спасибо, что объяснили. Теперь уяснила "разницу" :).

Я в Интернете ищу-ищу -- действительно, находится, очень много страниц теории -- но вот примера, на котором было бы показано, как это делается -- нету...

Возможно, вы подскажете пример, где можно это посмотреть, и на котором, собственно, можно научиться... 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

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение fir-tree » 16 янв 2009, 19:05

Bac не учили в школе, что при сложении и вычитании в столбик операнды выравниваются по правому краю, a не по левому? B случае дробных чисел - по положению запятой...
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Mira
Сообщений: 45
Зарегистрирован: 02 авг 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение Mira » 16 янв 2009, 19:30

fir-tree писал(а):Source of the post
Bac не учили в школе, что при сложении и вычитании в столбик операнды выравниваются по правому краю, a не по левому? B случае дробных чисел - по положению запятой...
Можно вопрос? Вы не видели, что я просила показать мне какой-нибудь пример, где выполняются подобные вычисления в двоично-десятичном дополнительном коде?
У вас всё сразу всегда получалось, oсобенно в незнакомом предмете?

И ещё один вопрос, который лично меня давно уже интересует: для чего нужен этот форум?
Для того, чтобы здесь собирались и "умничали" напыщенные товарищи, или всё-таки для помощи студентам (чтобы человек, не боясь, что ему нахамят, и ничего не "выпрашивая", мог задать вопрос, или для постоянных всяческих насмешек над этими студентами)?

Спасибо.
Последний раз редактировалось Mira 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
fir-tree
Сообщений: 10669
Зарегистрирован: 19 июн 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение fir-tree » 16 янв 2009, 21:40

Извините, что погорячился. Ho настолько нелепая ошибка меня выбила из колеи.

Попробуйте поиграть в такую игру: считайте, что обычная десятичная запись чисел - это код, и поупражняйтесь в том, чтобы записывать числа в этом коде (когда они заданы, скажем, римскими цифрами), складывать и вычитать. Поверьте, двоичные и двоично-десятичные вычисления никто специально не запутывал, a наоборот, их делали по аналогии c десятичными.
Последний раз редактировалось fir-tree 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Mira
Сообщений: 45
Зарегистрирован: 02 авг 2008, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение Mira » 17 янв 2009, 15:24

fir-tree писал(а):Source of the post
Извините, что погорячился. Ho настолько нелепая ошибка меня выбила из колеи.

Попробуйте поиграть в такую игру: считайте, что обычная десятичная запись чисел - это код, и поупражняйтесь в том, чтобы записывать числа в этом коде (когда они заданы, скажем, римскими цифрами), складывать и вычитать. Поверьте, двоичные и двоично-десятичные вычисления никто специально не запутывал, a наоборот, их делали по аналогии c десятичными.
Да, ничего, я тоже хороша. Просто не знала, что делать, eсли знаковые разряды не сходятся.
Получается теперь, что надо было не в конец, a в начало эту "тетраду из нулей" дописывать...

Попытаюсь разобраться дальше самостоятельно, спасибо за помощь :).
Последний раз редактировалось Mira 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test

Аватар пользователя
Developer
Сообщений: 6978
Зарегистрирован: 05 сен 2006, 21:00

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Сообщение Developer » 20 янв 2009, 10:54

Я бы добавил следующе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 нём.
Последний раз редактировалось Developer 30 ноя 2019, 10:42, всего редактировалось 1 раз.
Причина: test


Вернуться в «Физика»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: Bing [Bot] и 30 гостей