Десятичная система счисления - система, в основании которой лежит число 10. Любое число может быть представлено в виде суммы различных, последовательно убывающих, степеней числа 10 с множителями от 0 до 9. Например: 428₁₀ = 4*10² + 2*10¹ + 8*10⁰ = 400 + 20 + 8 2376₁₀ = 2*10³ + 3*10² + 7*10¹ + 6*10⁰= 2000 + 300 + 70 + 6
В самой записи числа степени основания системы опускаются, и записываются только множители. Практически любое число может быть записано в любой системе счисления. Однако, для систем счисления, в основании которых лежат числа, большие 10, необходимо ввести обозначения для коэффициентов 10; 11; 12; 13 и т.д. Например, в шестнадцатеричной системе счисления в качестве коэффициентов при степени основания системы используются числа от 0 до 15. Для 10 вводится обозначение А, для 11 - В, для 12 - С и т.д. Число 332 в шестнадцатеричной системе счисления будет выглядеть так : 332₁₀ = 1*16² + 4*16¹ + 12*16⁰ = 14С₁₆
Двоичная система счисления имеет в своем основании число 2, и все числа представляются в виде суммы последовательно убывающих степеней числа 2 с множителями 0 и 1. Например, 332₁₀ = 1*2⁸ + 0*2⁷ + 1*2⁶ + 0*2⁵ + 0*2⁴ + 1*2³ + 1*2² + 0*2¹ + 0*2⁰ = = 101001100₂
Таким образом, для перевода числа из десятичной системы счисления в двоичную необходимо взять ближайшую к данному числу степень двойки: 2⁰ = 1 2¹ = 2 2² = 4 2³ = 8 2⁴ = 16 2⁵ = 32 2⁶ = 64 2⁷ = 128 2⁸ = 256 и т.д.
Допустим, нам нужно перевести число 82 в двоичную запись. Ближайшая степень двойки - 2⁶ = 64 Поэтому пишем: 82₁₀ = 1*2⁶ + ... Так как 82 - 64 = 18, то пятой степени двойки в записи нет (2⁵ = 32, а у нас только 18). Поэтому дальше пишем 0*2⁵ 82₁₀ = 1*2⁶ + 0*2⁵ + ... Следующая степень двойки - 2⁴ = 16. Пишем далее 1*2⁴ 82₁₀ = 1*2⁶ + 0*2⁵ + 1*2⁴ + ... У нас осталось 2. Это 2¹ = 2, поэтому ни 2³ = 8, ни 2² = 4 в записи нет. 82₁₀ = 1*2⁶ + 0*2⁵ + 1*2⁴ + 0*2³ + 0*2² + 1*2¹ + ... Число составлено: 82 = 64 + 0 + 16 + 0 + 0 + 2 = 82 Однако, осталась последняя степень двойки, - нулевая, которую в записи числа необходимо отобразить: 0*2⁰ 82₁₀ = 1*2⁶ + 0*2⁵ + 1*2⁴ + 0*2³ + 0*2² + 1*2¹ + 0*2⁰ Теперь записываем в ряд множители, стоящие перед степенями двойки: 82₁₀ = 1010010₂ Это и есть число 82, записанное в двоичной системе счисления.
Есть другой способ перевода числа из десятичной записи в двоичную <span>Для этого его необходимо
последовательно делить на 2 до тех пор, пока не останется остаток,
меньший или равный 1. Число в двоичной системе записывается как
последовательность последнего результата деления и остатков от деления в
обратном порядке: 82 : 2 = 41 : 2 = 20 : 2 = 10 : 2 = 5 : 2 = 2 : 2 = 1 </span> 82 40 20 10 4 2 ---- ---- ---- ---- --- --- 0 1 0 0 1 0
Теперь записываем результат и остатки в обратном порядке: 82₁₀ = 1010010₂
PS. Все перечисленные системы счисления являются позиционными, в отличие от непозиционной (например, римской системы счисления). То есть от положения цифры в записи числа зависит величина, которую эта цифра обозначает: в числе 10 единица обозначает количество десятков, а в числе 1000 та же единица обозначает количество тысяч.
Var f:text ; c:array [1..10] of integer; i:integer; begin for i:=1 to 10 do begin writeln ('Введите ',i,' число'); read(c[i]); end; assign (f,'res.txt'); rewrite(f); for i:=1 to 10 do write (f,' ',c[i]); close (f); end.
Писал на Pascal ABC. Для того, чтобы работала, тебе нужно создать папку, и в этой папке сохранить данную программу. После запуска, тебе нужно будет ввести 10 чисел. Результат сохранится в той папке, в которой будет сохранена программа !
program massiv; var a:array[1..10] of integer; i,b,c : integer; begin writeln ('posledovatelno vedity elementi massiva (10 chisel)'); for i:=1 to 10 do readln(a[i]); b:=a[1]; for i:=1 to 10 do begin if a[i]>b then b:=a[i]; end; c:=a[1]; for i:=1 to 10 do begin if a[i]<c then c:=a[i]; end; writeln('raznost mesdu naibolshim i naimenshim elementom massiva =',b-c); readln; end.
привет. это похоже на код из ардуино. Как считать числа из textBox и записать их в массив если они разделены пробелом?
К примеру если в textBox: 45 6 7, то в массиве будет mas[0]=45; mas[1]=6;
mas[2]=7
Program pr1; var x,y, nod:integer; begin readln(x,y); repeat if x > y then x:=x mod y else y:=y mod x until x*y=0; nod:=x+y; writeln('НОД=', nod); <span>end.
program pr2; var i,n,sum:integer; begin readln(n); sum:=1; for i:=1 to n do if i mod 2 = 0 then inc(sum,i); writeln(sum); <span>end.</span></span>