Язык Си в примерах/Система счисления: различия между версиями
Поставил теги <source> |
Gribozavr (обсуждение | вклад) м оформление |
||
Строка 1: | Строка 1: | ||
{{Содержание «Язык Си в примерах»}} |
{{Содержание «Язык Си в примерах»}} |
||
Число 235 в десятичной системе счисления есть |
|||
: <math>235_{10} = 2\cdot 10^2 + 3 \cdot 10 + 5 \,\!</math> |
|||
Число 235 в восьмеричной системе счисления есть |
|||
: <math>235_{8}= 2\cdot 8^2 + 3 \cdot 8 + 5 \,\!</math> |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Вопросы == |
== Вопросы == |
||
1. Докажите методом математической индукции, что это разложение существует и единственно. |
1. Докажите методом математической индукции, что это разложение существует и единственно. |
||
Для тренировки разберите отдельно случай Q=2: любое натуральное число представляется в виде суммы различных степеней двойки и притом единственным образом. |
Для тренировки разберите отдельно случай <math>Q = 2</math>: любое натуральное число представляется в виде суммы различных степеней двойки и притом единственным образом. |
||
'''Примеры''': |
'''Примеры''': |
||
* <math>1_{10} = 1_2\,\!</math> |
|||
* <math>2_{10} = 0\cdot 2^0 + 1 \cdot 2^1 = 10_2\,\!</math> |
|||
* <math>3_{10} = 1\cdot 2^0 + 1 \cdot 2^1 = 11_2\,\!</math> |
|||
* <math>4_{10} = 0\cdot 2^0 + 0 \cdot 2^1 + 1\cdot 2^2 = 100_2\,\!</math> |
|||
* <math>5_{10} = 1\cdot 2^0 + 0 \cdot 2^1 + 1\cdot 2^2 = 101_2\,\!</math> |
|||
* <math>15_{10} = 1\cdot 2^0 + 1 \cdot 2^1 + 1\cdot 2^2 + 1\cdot 2^3 = 1111_2\,\!</math> |
|||
* <math>16_{10} = 0\cdot 2^0 + 0 \cdot 2^1 + 0\cdot 2^2 + 0\cdot 2^3 + 1\cdot 2^4 = 1000_2\,\!</math> |
|||
* <math>255_{10} = 1\cdot 2^0 + 1 \cdot 2^1 + 1\cdot 2^2 + 1\cdot 2^3 + 1\cdot 2^4 + 1\cdot 2^5 + 1\cdot 2^6 + 1\cdot 2^7 = 11111111_2\,\!</math> |
|||
2. Что делает |
2. Что делает приведённая ниже программа? |
||
<source lang="c"> |
<source lang="c"> |
||
#include <stdio.h> |
|||
void main () |
|||
{ |
|||
int n; |
|||
scanf ("%d", &n); |
|||
while(n) |
|||
{ |
|||
printf("%d", n%2); |
|||
n /= 2; |
|||
} |
|||
} |
|||
</source> |
</source> |
||
3. Напишите программу, которая |
3. Напишите программу, которая введённое натуральное (число в десятичной записи) переводит в восьмеричную систему счисления. |
Версия от 02:04, 27 июня 2008
- Компиляция программ
- Простейшая программа «Hello World»
- Учимся складывать
- Максимум
- Таблица умножения
- ASCII-коды символов
- Верхний регистр
- Скобочки
- Факториал
- Степень числа
- Треугольник Паскаля
- Корень уравнения
- Система счисления
- Сортировка
- Библиотека complex
- Сортировка на основе qsort
- RPN-калькулятор
- RPN-калькулятор на Bison
- Простая грамматика
- Задача «Расчёт сопротивления схемы»
- Простая реализация конечного автомата
- Использование аргументов командной строки
- Чтение и печать без использования stdio
- Декодирование звукозаписи в формате ADX
- Другие примеры
Число 235 в десятичной системе счисления есть
Число 235 в восьмеричной системе счисления есть
Пусть — натуральное число. Тогда представить число в Q-ичной системе счисления означает представить число в виде суммы различных степеней с целыми коэффициентами из диапазона :
Q-ичная запись числа — это набор коэффициентов ,где — последний ненулевой коэффициент.
Вопросы
1. Докажите методом математической индукции, что это разложение существует и единственно. Для тренировки разберите отдельно случай : любое натуральное число представляется в виде суммы различных степеней двойки и притом единственным образом.
Примеры:
2. Что делает приведённая ниже программа?
#include <stdio.h>
void main ()
{
int n;
scanf ("%d", &n);
while(n)
{
printf("%d", n%2);
n /= 2;
}
}
3. Напишите программу, которая введённое натуральное (число в десятичной записи) переводит в восьмеричную систему счисления.