LINUX.ORG.RU

История изменений

Исправление dikiy, (текущая версия) :

1) Чтобы перевести число из десятичной системы в двоичную, нужно его делить на 2 (основание системы) а потом остатки прочитать взад. Для меня это - просто хитрый приём. А почему он работает?

потому что [latex]A_0=\sum_{i=0}^n a_i2^i, a_i=\{0,1\}[/latex]

Мы знаем, что [latex]2^k>\sum_{i=0}^{k-1}2^i[/latex]

поэтому деля [latex]A_0[/latex] на 2 мы получаем [latex]A_1=\sum_{i=0}^{n-1} a_i2^i[/latex] и [latex]a_n[/latex] в остатке. Ну и деля дальше мы получи все [latex]a_i[/latex]

2) Как так получается в two's complement, что если мы хотим получить отрицательное число, то применяем побитовое отрицание и прибавляем единицу? Почему это работает?

метод тот же - вырази все математически и поймешь.

Исправление dikiy, :

1) Чтобы перевести число из десятичной системы в двоичную, нужно его делить на 2 (основание системы) а потом остатки прочитать взад. Для меня это - просто хитрый приём. А почему он работает?

потому что [latex]A_0=\sum_{i=0}^n a_i2^i, a_i=\{0,1\}[/latex]

поэтому деля [latex]A_0[/latex] на 2 мы получаем [latex]A_1=\sum_{i=1}^{n} a_i2^{i-1}[/latex] и [latex]a_0[/latex] в остатке. Ну и деля дальше мы получи все [latex]a_i[/latex]

2) Как так получается в two's complement, что если мы хотим получить отрицательное число, то применяем побитовое отрицание и прибавляем единицу? Почему это работает?

метод тот же - вырази все математически и поймешь.

Исправление dikiy, :

1) Чтобы перевести число из десятичной системы в двоичную, нужно его делить на 2 (основание системы) а потом остатки прочитать взад. Для меня это - просто хитрый приём. А почему он работает?

потому что [latex]A_0=\sum_{i=0}^n a_i2^i, a_i=\{0,1\}[/latex]

Мы знаем (выводится с помощью формулы суммы геометрической прогрессии), что [latex]2^k>\sum_{i=0}^{k-1}2^i[/latex]

поэтому деля [latex]A_0[/latex] на 2 мы получаем [latex]A_1=\sum_{i=0}^{n-1} a_i2^i[/latex] и [latex]a_n[/latex] в остатке. Ну и деля дальше мы получи все [latex]a_i[/latex]

2) Как так получается в two's complement, что если мы хотим получить отрицательное число, то применяем побитовое отрицание и прибавляем единицу? Почему это работает?

метод тот же - вырази все математически и поймешь.

Исходная версия dikiy, :

1) Чтобы перевести число из десятичной системы в двоичную, нужно его делить на 2 (основание системы) а потом остатки прочитать взад. Для меня это - просто хитрый приём. А почему он работает?

потому что [latex]A_0=\sum_{i=0}^n a_i2^i, a_i=\{0,1\}[/latex]

Мы знаем, что [latex]2^k>\sum_{i=0}^{k-1}2^i[/latex]

поэтому деля [latex]A_0[/latex] на 2 мы получаем [latex]A_1=\sum_{i=0}^{n-1} a_i2^i[/latex] и [latex]a_n[/latex] в остатке. Ну и деля дальше мы получи все [latex]a_i[/latex]

2) Как так получается в two's complement, что если мы хотим получить отрицательное число, то применяем побитовое отрицание и прибавляем единицу? Почему это работает?

метод тот же - вырази все математически и поймешь.