2 / 2 / 1
Регистрация: 09.12.2014
Сообщений: 112

Составить программу перевода этого числа в шестнадцатеричную систему счисления

02.07.2015, 12:31. Показов 9523. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано дробное число в двоичной системе счисления, т.е. последовательность цифр 0 и 1, разделенных точкой. Составить программу перевода этого числа в шестнадцатеричную систему счисления.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.07.2015, 12:31
Ответы с готовыми решениями:

Составить программу для перевода этого числа в десятичную систему счисления
Практика... Help! Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (...

Составить программу перевода 10-ричного натурального числа в 5-ричную систему счисления
Составить программу перевода 10-ричного натурального числа в 5-ричную систему счисления.

Рекурсивные подпрограммы. Составить программу перевода данного натурального числа в p-ичную систему счисления
Здравствуйте, вот условие задачи: Рекурсивные подпрограммы Составить программу перевода данного натурального числа в p-ичную систему ...

3
193 / 100 / 131
Регистрация: 23.06.2015
Сообщений: 249
02.07.2015, 14:17
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program perewod;
var a, p, i : integer;
    s, abc : string;
begin
  abc := '0123456789ABCDEF';
  readln(s);
  a := 0; p := 1;
  for i := length(s) downto 1 do begin
    a := a + (ord(s[i]) - ord('0')) * p;
    p := p * 2;
  end;
  s := '';
  while(a <> 0) do begin
    s := abc[(a mod 16) + 1] + s;
    a := a div 16;
  end;
  if(s = '') then s := '0';
  writeln(s);
end.
0
 Аватар для APALoff
1647 / 1076 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
02.07.2015, 14:45
Cuellius, Вы не прочитали условие:
Цитата Сообщение от лалка123 Посмотреть сообщение
Дано дробное число в двоичной системе
Добавлено через 48 секунд
А так же:
Цитата Сообщение от лалка123 Посмотреть сообщение
Составить программу перевода этого числа в шестнадцатеричную систему счисления.
Добавлено через 3 минуты
Перевод в различные системы счисления
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
02.07.2015, 19:37
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно так.
Алгоритм описан здесь.
http://www.5byte.ru/11/0006.php
Процитирую на случай утраты ссылки
Таким образом, для перевода целого двоичного числа в шестнадцатеричное его нужно разбить на группы по четыре цифры (тетрады), начиная справа, и, если в последней левой группе окажется меньше четырех цифр, дополнить ее слева нулями. Для перевода дробного двоичного числа (правильной дроби) в шестнадцатеричное необходимо разбить его на тетрады слева направо и, если в последней правой группе окажется меньше четырех цифр, то необходимо дополнить ее справа нулями.
........................................ .................................
Переведем дробное двоичное число А2 =0,1101012 в шестнадцатеричную систему счисления:

Двоичные тетрады 1101 0100
Шестнадцатеричные цифры D 4
Получаем: А16 = 0,D416.
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
uses crt;
//тетрады для перевода 2 в 16
const tetr:array[0..15] of string[4]=('0000','0001','0010','0011',
                                      '0100','0101','0110','0111',
                                      '1000','1001','1010','1011',
                                      '1100','1101','1110','1111');
 
var s2,s21,s22,s16,s161,s162:string;
    i:integer;
    c:char;
begin
clrscr;
writeln('Введите дробное число в СС 2(разделитель точка), окончание ввода Enter:');
s2:='';
repeat
c:=readkey;
if c in ['0','1'] then //в строку только 0 и 1
 begin
  write(c);
  s2:=s2+c
 end;
if (c='.')and(pos('.',s2)=0)then
 begin
  write(c);
  s2:=s2+c
 end;
if c=#13 then writeln //Enter-на новую строку и выход
until c=#13;
if pos('.',s2)=0 then s2:='0.'+s2//если не ввели точку
else if pos('.',s2)=1 then s2:='0'+s2;//если ввели первой
clrscr;
writeln('Число в СС 2: ',s2);
//переводим целую часть
s21:=copy(s2,1,pos('.',s2)-1);
while length(s21) mod 4<>0 do s21:='0'+s21;//добавим в начало 0 до кратности 4
s161:='';
while s21<>'' do
 begin
  for i:=0 to 15 do
  if copy(s21,1,4)=tetr[i]then //читаем тетраду
   begin
    if i in [0..9] then s161:=s161+chr(i+48)//пишем или цифру
    else s161:=s161+chr(i+55);//или букву A..F
   end;
  delete(s21,1,4);//удалим тетраду
 end;
while (s161[1]='0')and(length(s161)>1) do delete(s161,1,1);//удалим ведущие ноли
//переводим дробную часть
delete(s2,1,pos('.',s2)); //удалим целую часть с точкой
s22:=s2;
while length(s22) mod 4<>0 do s22:=s22+'0';//добавим в конец 0 до кратности 4
s162:='';
while s22<>'' do
 begin
  for i:=0 to 15 do
  if copy(s22,1,4)=tetr[i]then
   begin
    if i in [0..9] then s162:=s162+chr(i+48)
    else s162:=s162+chr(i+55);
   end;
  delete(s22,1,4);
 end;
s16:=s161+'.'+s162;
writeln('Число в СС 16: ',s16);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.07.2015, 19:37
Помогаю со студенческими работами здесь

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

Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления
1.Программа перевода из двоичной системы счисления в шестнадцатеричную систему счисления. 2.Лишние пробелы.Дана строка состоящая из...

Составить алгоритм перевода натурального числа N в двоичную систему счисления
Составить алгоритм перевода натурального числа N в двоичную систему счисления.

Рекурсия. Составить программу для перевода числа в Р-ичную систему счисления (2 <= Р <=9)...
Стставить программу для перевода данного натурального числа в р-ичную систему счисления (2&lt;=р&lt;=9)

Составить программу для перевода данного натурального числа в p-ичную систему счисления
Помогите пожалуйста кто может!!! Составить программу для перевода данного натурального числа в p-ичную систему счисления (2&lt;=p&lt;=9).


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru