История изменений
Исправление
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, что если мы хотим получить отрицательное число, то применяем побитовое отрицание и прибавляем единицу? Почему это работает?
метод тот же - вырази все математически и поймешь.