Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/313: Рейтинг темы: голосов - 313, средняя оценка - 5.00
 Аватар для Ktara
0 / 0 / 0
Регистрация: 06.11.2009
Сообщений: 8

Перевод из одной системы счисления в другую

06.11.2009, 03:15. Показов 62091. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дали задание: написать программу для перевода из одной системы счисления в другую.
Системы счисления задаются с клавиатуры.
Т.е. Программа спрашивает В какой системе будет число. Пишу "2"
Программа "введите число в двоичной системе"
Ввожу число.
Программа спрашивает "В какую систему будем переводить?"
Отвечаю"10"
Ответ на экране Число N в двоичной системе = числу М в десятичной системе
и так применительно к другим системам
Вообще не понимаю как делать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.11.2009, 03:15
Ответы с готовыми решениями:

Перевод из одной системы счисления в другую
помогите пожалуйста(ошибка): Program perevod; Uses crt; Const Hex:string='ABCDEF'; Var Init,PartOS,Null,BInit,Way:string; ...

Перевод чисел записанных в строку, из одной системы счисления в другую
Пожалуйста помогите исправить програмку. Программа должна доставать из строки числа, записаные в шестиричной системе счисления и...

ПЕРЕВОД дробных чисел из одной системы счисления в другую. СПОСОБЫ ВНУТРЕННЕГО представления чисел с фиксированной точк
2) Создать блок-схему алгоритма программы перевода правильных дробей из одной системы счисления в другую по заданному варианту. 3)...

26
1 / 1 / 0
Регистрация: 30.03.2016
Сообщений: 7
30.03.2016, 22:11
Студворк — интернет-сервис помощи студентам
Inadequate, эх, подскажите что написано у вас русским языком.

Мне задали в колледже написать такую программу с вещественным типом данным и иежду 2,8,10,16 системами счисления. Т.е.перевод дробных чисел из одноц в другую. Такая практика выпала. И вот незадача, я слизывать программу у вас не хочу, но хочу понять смысл кпждой фцнкции и процедуры вашей программы, чтобы самому после написать. Все же хочу научиться, а не закончить 1курс незнайкой элементарного.
0
Модератор
10422 / 5710 / 3401
Регистрация: 17.08.2012
Сообщений: 17,368
30.03.2016, 22:51
DeadMark, дешифровано. Смотрите целевой пост.
0
1 / 1 / 0
Регистрация: 30.03.2016
Сообщений: 7
02.06.2016, 19:16
В общем...помогите чутка.
Программу потестите на большие числа и объясните мне, почему ограничивается ответ 29разрядами числа и почему вводимые числа не должны превышать 7-8 рязрядов (хотя 10-разрядные к примеру 1111 1111 11 переводится, а 9999 9999 не переводится и выходит за границы индекса)
Я эту программу собираюсь сдавать как индивидуальное занятие и возможно мне спустят с рук эти косяки (а может просто погрешность??), но раз я хочу чему-то научиться, то стоит разобраться в этом.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
uses formsabc;
var b{счетчик проверки},p1,p2{отвечают за расположение точки},
  p,j:integer;                                                             //cs1-переменная отвечающая за СС вводимого числа. cs2-СС выходного числа.
  scr,otvet,ch1,ch2,TD:string;                                                  //ТD-переводимое число, ch1 отвечает за целую ч.числа, ch2-за дробную, res-результат
//FL:text; 
                          cs1:=new IntegerField('СС вашего числа');f1 := new FlowBreak;
 
 //cb1 := new TextLabel('CC ');
 //cs1 := new ComboBox({12});                       
 //f2 := new FlowBreak;
                          vashe := new Field('Ваше число');
                          cs2:=new IntegerField('В какую СС');
//f3 := new FlowBreak;
 //cb2 := new TextLabel('CC ');
 
 //f4 := new FlowBreak;
// cs2 := new ComboBox({12});
 
                           
  
 
  ok := new Button('Вычислить');
 d1 := new FlowBreak(100);
  ex := new Button('Выход');
  tb: TextBox;
  
{============Функция Проверки числа 2,8,10,16 на правильность ввода============}  
Function proverka (TD:string;a:longint):String;                                 //Функция проверки числа по правилам заданными СС
 var v:Longint;f:string;i:Longint;                                              //v-счетчик позиции символа в TD f-отвечает за алфавит СС i-Счетчик кол-ва зап.\точек
  begin
  
   if a=2 then f:='1';                                                          //алфавит для 2 СС
   if a=3 then f:='2';
   if a=4 then f:='3';
   if a=5 then f:='4';
   if a=6 then f:='5';
   if a=7 then f:='6';
   if a=8 then f:='7';                                                          //для 8 СС
   if a=9 then f:='8';
   if a=10 then f:='9';                                                         //для 10 СС
   if a=11 then f:='A';
   if a=12 then f:='B';
   if a=13 then f:='C';
   if a=14 then f:='D';
   if a=15 then f:='E';
   if a=16 then f:='F';                                                         //для 16 СС
    b:=0;                                                                       //b - отвечает наличие ошибки в числе.
   
     for v:=1 to length(TD) do begin                                            //от 1 до конца TD
      If (TD[v]>f) and (TD[v]<>'.') and (TD[v]<>',') then b:=1;                 //Если символ под индексом не входит в алф или не является точкой\запятой тогда b=1
      If (TD[v]=',') or (TD[v]='.') then i:=i+1;end;                            //Подсчет кол-ва точек\запятых. 
      If i>1 then begin                                                         //Если запятых\точек больше 1 тогда...
       Writeln ('В вашем числе кол-во точек =',i,' -> что недопустимо');        //Вывод ошибки
       b:=1;end;                                                                //Если есть ошибка, то b=1
if (b=1) or (i>1)  then tb.AddLine('Ваше число введенно неверно, введите свое число еще раз') ; end; //Проверка b, если 0 то все ок.
 
 
{===================функция перевода Dec числа в любую сс======================}
Function FromDec(n,r:integer):string;                                           //FromDec осуществляет перевод из 10-тичной в любую СС.
 var s:String;                                                                  //S в данном случае выступает как переменная результата.
  const digit:string[16]='0123456789ABCDEF';                                    //Секретная константа, которая помогла мне решить проблему преобразований чисел:)
begin                                                                           
  s:='';
  repeat                                                                        //начало цикла.
    s:=digit[(n mod r)+1]+s;                                                    //n это TD, r - CC входного ч., s=остаток от деления TD на СС вводимого числа +1
    n:=n div r;                                                                 //Другими словами, функция переводит число из 10-тичной в любую СС.
  until n=0;                                                                    //конец цикла
    FromDec:=s;                                                                 //Результат функции принимает значение переменной S
end;                                                                            //Конец функции
 
 
{=======================фунция перевода любой сс в Dec=========================}
function ToDec(n:string;r:byte):integer;                                        //n это TD, r - CC выходного ч.,    
var m,i:integer;                                                                //i выступает как счетчик, m выступает как результат функции.
 const digit:string[16]='0123456789ABCDEF';                                     //Секретная константа, которая помогла мне решить проблему преобразований чисел:)                                                            
  begin                                                                         
   m:=0;                                                                        //m принимает значение 0
    while n[1]='0' do                                                           //пока первый символ TD будет равняться 0
     delete(n,1,1);                                                             //Удаление первого символа 
    for i:=1 to length(n) do                                                    //Цикл от 1 до длины TD
     m:=m*r+pos(n[i],digit)-1;                                                  //m*cs2+дикремент позиции в TD совпадающего числа из константы                                                  
 ToDec:=m;                                                                      //Результат функции принимает значение переменной m
end;                                                                            //Конец функции
 
 
 
procedure MyClick;
begin
 Proverka(vashe.Text,cs1.Value);
// Append (FL);
    if b=0 then begin TD:=FromDec(ToDec(vashe.Text,cs1.value), cs2.value);
   //Write(FL,'Перевод из ',cs1,' CC в ',cs2);
  tb.AddLine(TD);
end;
end;
 
  
 
  begin
  
  MainForm.Title := 'Перевод из одной системы счисления в другую';
  MainForm.SetSize(500,350);
  MainForm.CenterOnScreen;
  mainPanel.Dock := DockStyle.Left;
  mainPanel.Width := 150;
//AssignFile(FL,'Вывод.txt') ;                                                    //связываем файловую переменную с именем файла 
//Append (FL);
  
 ok.Click += MyClick;
  ParentControl := MainForm;
  tb := new TextBox;
    tb.AddLine('Доброго времени суток! Данная программа переведет ');
    tb.AddLine('введенное вами число с указанной Системой счисления ');
    tb.AddLine('в другую Систему счисления.');
    tb.AddLine('Программа выдаст ответ числом до 29 рязрядов');
    tb.AddLine('');
  tb.Dock := DockStyle.Fill;
  
   // Write(FL,'Ответ',TD);
  //close (fl);
  end.
0
Модератор
10422 / 5710 / 3401
Регистрация: 17.08.2012
Сообщений: 17,368
02.06.2016, 20:05
Цитата Сообщение от DeadMark Посмотреть сообщение
потестите на большие числа
Не требуется. Не способна Ваша программа работать с действительно большими числами.
Цитата Сообщение от DeadMark Посмотреть сообщение
1111 1111 11 переводится, а 9999 9999 не переводится
Диапазон чисел для применённого Вами типа longint составляет -2147483648..2147483647 (это -231..231-1). 1111111111 принадлежит этому диапазону, а 9999999999 - нет. Кстати, написанное вами число 99999999 вполне преобразуется.
Кроме того, замечу, что программа Ваша может правильно переводить только неотрицательные целые числа. То есть, 0..2147483647.
Цитата Сообщение от DeadMark Посмотреть сообщение
почему ограничивается ответ 29разрядами
Ограничение в 29 разрядов - искусственное. На самом деле, программа вполне способна преобразовывать числа, содержащие в двоичной форме 31 двоичный разряд. С какой целью введено данное ограничение - я не постигаю. Скорее всего, чтобы минимизировать случаи целочисленного переполнения. Иными словами - это костыль.

И вот скажите мне, зачем проверять число на десятичный разделитель, если дробная часть не преобразуется - сиё для меня тайна великая есть. Должно быть, для того, чтобы при вводе точки или запятой происходил вылет за границу константного массива digit или же - при обратном преобразовании - искажение результата.
0
1 / 1 / 0
Регистрация: 30.03.2016
Сообщений: 7
03.06.2016, 09:02
Умными словами ответ написан . В общем то я начинающий программист) Может что подскажите, я рад буду.
Надо конечно исправлять, но вот сами алгоритмы перевода еще недоосмыслил) Дробную часть лучше формулой для дробной части считать?
0
Модератор
10422 / 5710 / 3401
Регистрация: 17.08.2012
Сообщений: 17,368
04.06.2016, 01:36

Не по теме:

Цитата Сообщение от DeadMark Посмотреть сообщение
Умными словами ответ написан
Учите матчасть, может, тоже будете умными словами изъясняться.



Добавлено через 16 часов 30 минут
Цитата Сообщение от DeadMark Посмотреть сообщение
Дробную часть лучше формулой для дробной части считать?
Да. Выделить из числа целую и дробную часть, и переводить их отдельно. С целой частью всё хорошо: она всегда может быть переведена точно, а вот дробная часть не всегда может быть переведена точно. Результат, как правило, приходится округлять до какого-то количества разрядов.
0
1 / 1 / 0
Регистрация: 30.03.2016
Сообщений: 7
04.06.2016, 13:53
Вот с CRT менюшкой!!! Потестите Прошу вас. Подскажите что не так. Я сейчас тестю и вроде как бы и рад уже достигнутому, но все же очень много вылетов при неправильном вводе, можно ли как-то это исправить так, чтобы он ошибку выдал, а не сразу вылетал?
Сейчас начну из этой программы в ту что выше вписывать исправления.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
                           Program Practica20;                                  //НАЧАЛО ПРОГРАММЫ
uses crt;                                                                       //включение рабочего окна.
  var b{счетчик проверки},p1,p2{отвечают за расположение точки},
  p,j,cs1,cs2:integer;                                                          //cs1-переменная отвечающая за СС вводимого числа. cs2-СС выходного числа.
  scr,otvet,ch1,ch2,TD:string;                                                  //ТD-переводимое число, ch1 отвечает за целую ч.числа, ch2-за дробную, res-результат
FL:text;                                                                        //Объявляем файловую переменную
 
{=========================Вычисление для дробной части=========================}                       
Function DROB (a:string;b,f:Integer):string;                                    //a-дробная часть в исходном виде, b,f - СС исходного числа и СС переведенного числа
const digit:string[16]='0123456789ABCDEF';                                      //Строковая константа - алфавит
var i,z:integer;c,e:real;                                              //
 begin
  Writeln('Сколько знаков после запятой оставить?'); Readln(z);
    for i:=1 to length(a) do begin
     c:=(pos(a[i],digit)-1)*power(b,-i);
     e:=e+c; end;
  a:='';
    for i:=1 to z do begin
      a:=a+digit[trunc(e)+1];
      e:=e-trunc(e);
      e:=e*f; end;
    delete (a,1,1);
 DROB:=a; end;
 
{============Функция Проверки числа 2,8,10,16 на правильность ввода============}
Procedure proverka (TD:string);                                                 //Функция проверки числа по правилам заданными СС
 var v:Longint;f:string;i:Longint;                                              //v-счетчик позиции символа в TD f-отвечает за алфавит СС i-Счетчик кол-ва зап.\точек
  begin
   if cs1=2 then f:='1';                                                          //алфавит для 2 СС
   if cs1=3 then f:='2';
   if cs1=4 then f:='3';
   if cs1=5 then f:='4';
   if cs1=6 then f:='5';
   if cs1=7 then f:='6';
   if cs1=8 then f:='7';                                                          //для 8 СС
   if cs1=9 then f:='8';
   if cs1=10 then f:='9';                                                         //для 10 СС
   if cs1=11 then f:='A';
   if cs1=12 then f:='B';
   if cs1=13 then f:='C';
   if cs1=14 then f:='D';
   if cs1=15 then f:='E';
   if cs1=16 then f:='F';                                                         //для 16 СС
    b:=0;                                                                       //b - отвечает наличие ошибки в числе.
     for v:=1 to length(TD) do begin                                            //от 1 до конца TD
      If (TD[v]>f) and (TD[v]<>'.') and (TD[v]<>',') then b:=1;                 //Если символ под индексом не входит в алф или не является точкой\запятой тогда b=1
      If (TD[v]=',') or (TD[v]='.') then i:=i+1;end;                            //Подсчет кол-ва точек\запятых. 
      If i>1 then begin                                                         //Если запятых\точек больше 1 тогда...
       Writeln ('В вашем числе кол-во точек =',i,' -> что недопустимо');        //Вывод ошибки
       b:=1;end;                                                                //Если есть ошибка, то b=1
if (b=1) or (i>1)  then Writeln ('Ваше число введено неверно, введите свое число еще раз');end; //Проверка b, если 0 то все ок.
{===================функция перевода Dec числа в любую сс======================}
Function FromDec(n,r:Longint):string[255];                                           //FromDec осуществляет перевод из 10-тичной в любую СС.
 var s:String;                                                                  //S в данном случае выступает как переменная результата.
  const digit:string[16]='0123456789ABCDEF';                                    //Секретная константа, которая помогла мне решить проблему преобразований чисел:)
begin                                                                           
  s:='';
  repeat                                                                        //начало цикла.
    s:=digit[(n mod r)+1]+s;                                                    //n это TD, r - CC входного ч., s=остаток от деления TD на СС вводимого числа +1
    n:=n div r;                                                                 //Другими словами, функция переводит число из 10-тичной в любую СС.
  until n=0;                                                                    //конец цикла
    FromDec:=s;                                                                 //Результат функции принимает значение переменной S
end;                                                                            //Конец функции
 
 
{=======================функция перевода любой сс в Dec=========================}
function ToDec(n:string;r:longint):longint;                                     //n это TD, r - CC выходного ч.,    
var m,i:longint;                                                                //i выступает как счетчик, m выступает как результат функции.
 const digit:string[16]='0123456789ABCDEF';                                     //Секретная константа, которая помогла мне решить проблему преобразований чисел:)                                                            
  begin                                                                         
   m:=0;                                                                        //m принимает значение 0
   while n[1]='0' do                                                           //пока первый символ TD будет равняться 0
    delete(n,1,1);                                                             //Удаление первого символа 
    for i:=1 to length(n) do                                                    //Цикл от 1 до длины TD
     m:=m*r+pos(n[i],digit)-1;                                                  //m*cs2+дикремент позиции в TD совпадающего числа из константы                                                  
 ToDec:=m;                                                                      //Результат функции принимает значение переменной m
end;                                                                            //Конец функции
 
{===========================Осоновная программы================================}
begin
AssignFile(FL,'Вывод.txt') ;                                                    //связываем файловую переменную с именем файла 
Append (FL);
Writeln('Доброго времени суток. Данная программа переведет введенное вами число в определенной СС в другую СС, которую вы укажите.');
Writeln('Важно понимать, что в основном должны использоваться такие СС как 2,8,10 и 16, ');
   repeat                                                                       //Начало цикла "Перевод еще одного числа"
Writeln('Введите CC вашего числа:');                                           
   repeat                                                                       //Начало цикла ввода СС числа с условием, что оно не выходит за рамки допустимых СС
    readln(cs1);                                                                 
   until (cs1>=2) and (cs1<=16);                                                //Конец цикла ввода СС и проверка условия
Writeln('Введите число в соответствии с CC:');
 Writeln(Fl, cs1);
   repeat                                                                       //Начало цикла ввода числа и функции проверки
    readln(TD);
    proverka(TD);                                                               //Вызов функии проверки
   until b=0;                                                                   //Конец цикла при условии что b=0
   repeat                                                                       //Начало цикла "Перевод полученного числа в другую СС"
  writeln('Введите в какую CC:');
   repeat                                                                       //Начало цикла ввода СС, в которую будет переведено число
    readln(cs2);
   until (cs2>=2) and (cs2<=16);
      for j:=1 to length(TD) do begin                                           //Цикл для поиска запятой в вашем числе
         if TD[j]=',' then p:=j; end;                                             //Если запятая найдена - р принимает значение позиции запятой
      If p=0 then begin                                                         //Если запятая не найдена, то...
         for j:=1 to length(TD) do                                              //Цикл для поиска точки в вашем числе
         if TD[j]='.' then p:=j end;                                              //Если запятая найдена - р принимает значение позиции точки
      If p=0 then begin                                                         //Если ни точки, ни запятой не найдено, то...
         TD:=FromDec(ToDec(TD,cs1),cs2);                                        //Выполняется обычный перевод числа в другую СС
         Writeln ('Перевод из ',cs1,' CC в ',cs2,' CC выполнен. Ответ: ',TD)end;
      If p<>0 then begin                                                        //Если найдена запятая или точка, тогда...
        p1:=p-1;p2:=p+1;                                                        //р1 принимает позицию числа перед точ.\зап. р2-позицию после зап.\точ
        ch1:=copy(TD,1,p1);                                                     //ch1 принимает число до запятой,
        ch2:=copy(TD,p2,length(TD));                                            //ch2 принимает число после запятой
      if ch1<>'0' then  ch1:=FromDec(ToDec(ch1,cs1),cs2);                                       //Переводит число ch1 в заданную СС
        ch2:=DROB(ch2,cs1,cs2);                                       //Переводит число ch2 в заданную СС
        TD:=ch1+','+ch2;write('Перевод из ',cs1,' CC --> ',cs2,' CC: ');Writeln('ОТВЕТ ',TD);end;                                        //TD принимает значение суммы ch1, запятой, ch2
Writeln();
Write(FL, 'значение СС=',cs2,' таково ');
writeln (FL,TD);
 
Writeln('Хотите перевести полученное число в другую СС? (да\нет)'); Readln(otvet);//Возможное продолжение программы.
if (otvet='da') or (otvet='да') then begin                                     
     Writeln ('Очистить экран перед выполнением повтора? (да\нет)');            //Вывод предложения очистить экран
     Readln(scr); if (scr='da') or (scr='да') then ClrScr;                      //Если ответ положительный, тогда очистить экран от проделанной работы ранее
     cs1:=cs2;end;                                                              //cs1 принимает действующую информацию о СС числа.(т.е.принимает значение cs2)
     until (otvet='нет') or (otvet='no') or (otvet='net');                      //выход из цикла "Перевод полученного числа в другую СС"
 
 Writeln('Хотите перевести еще одно число? (да\нет)');Readln(otvet);            //Возможное продолжение программы.
   if (otvet='da') or (otvet='да') then begin                                   //Если ответ положительный, тогда...
     Writeln ('Очистить экран перед выполнением повтора? (да\нет)');Readln(scr);//Предложение очистить экран.
     if (scr='da') or (scr='да') then ClrScr;end;                               //Если ответ положительный, тогда экран будет очищен от предыдущей работы
          until (otvet='нет') or (otvet='no') or (otvet='net')                  //Выход из цикла "Перевод еще одного числа"
 ;close (fl); end.                                                              //КОНЕЦ ПРОГРАММЫ
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.06.2016, 13:53
Помогаю со студенческими работами здесь

Перевод из одной системы в другую
Помогите написать программу перевода натуральных чисел из одной системы в другую без использованния циклов.

Программа для перевода чисел из одной системы счисления в другую
Написать программу для перевода чисел из одной системы счисления в другую. Из 10 в 2, Из 16 в 8. Задание может быть выполнено в виде двух...

Написать программу для перевода чисел из одной системы счисления в другую
написать программу для перевода из одной системы счисления в другую. Из 8 в 2; из 10в 8

Перевод дроби из одной системы счисления в другую
Перевод ДРОБИ из одной системы счисления в другую

Перевод чисел из одной системы счисления в другую, требуется пояснение
var provint,celoe,chislo,sistem2,max,i,q,f, sistem1c,sistem1,dlina,b1,summa,dobavka,cifraint,povt,povt1:longint;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru