Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dav1704
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 3
#1

Нужна помощь! Перевод из 16ричной сс в 10ую сс - C++

20.07.2011, 13:34. Просмотров 1089. Ответов 7
Метки нет (Все метки)

Я начинающий программист и столкнулся с такой задачкой. Есть файл с расширением .dat, при открытии его в hex редакторе,мы имеем стандартную запись 16-ричных чисел,необходимо составить прогу, которая вытаскивала бы из файла все 16ричные числа,переводила бы их в 10ричную сс и записывала все полученные числа в отдельный текстовый файл. Можно ли в самом hex редакторе осуществить эту задачу? Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2011, 13:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нужна помощь! Перевод из 16ричной сс в 10ую сс (C++):

Перевод из 16ричной в двоичную - C++
Перевести в двоичную систему счисления произвольное шестнадцатеричное число. Ребят, есть у кого код? Буду должен)

Из 2ой в 10ую - C++
Помогите, никак не догоню Задано неотрицательное целое число в двоичной системе счисления. Требуется перевести его в десятичную. ...

Нужна помощь с комментариями. - C++
Нужны комментарии и сделать так, чтобы вводилось только пятизначное число. #include "stdafx.h" #include <stdlib.h> #include...

Нужна помощь с MD5 на Си/Си++ - C++
Мне нужны либо библиотеки, в которых реализована функция-аналог md5() на PHP, либо код. Но библиотеки для висуалс++ не предлагать. Также...

Нужна помощь с классом - C++
Вот напечатал это: #include <iostream> #define maxN 10 //количество вершин using namespace std; class directed_graph { ...

Нужна помощь с программой - C++
ПРограмма должна выполнять расчет коэффициентов характеристического полинома квадратной матрицы

7
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
20.07.2011, 13:57 #2
Я даже не знаю как тебе это объяснить чтобы для тебя это не было шоком...
Двоичные файлы не имеют системы счисления. Если ты работаешь с текстовым файлом то тогда зачем тебе открывать его через HEX-редактор?
2
Dav1704
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 3
20.07.2011, 14:25  [ТС] #3
тут дело в том,что есть некая экспериментальная установка,которая непрерывно выдает значение сигналов, но у программы,которая считывает эти сигналы есть лимит (или точнее происходит потеря данный,т.е она не успевает все записать),поэтому используется другая прога, позволяющая записывать все значения без потерь...и все эти значения записываются в файл с расширением .dat...открывая этот файл я вижу числа представленные в 16чном виде....вот мне и необходимо перевести к нормальной человеческой форме,чтобы ,скажем,забить в ексель и построить график на основе этих показаний...
Меня попросили посмотреть,можно ли это вообще осуществить...если честно то инфу насчет этого задания дали по минимуму,но я вот и постарался написать максимально подробно о этой задаче...так что если есть светлые мысли,то спасибо...
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.07.2011, 14:35 #4
ЯП?
на С:
C
1
2
3
4
5
    FILE *fp = fopen("1.dat","rt");
    int i;
 
    while ( fscanf(fp,"%x",&i) == 1 )
        printf("%d ",i);
1
castaway
Эксперт С++
4916 / 3024 / 370
Регистрация: 10.11.2010
Сообщений: 11,081
Записей в блоге: 10
Завершенные тесты: 1
20.07.2011, 14:37 #5
Цитата Сообщение от Dav1704 Посмотреть сообщение
чтобы ,скажем,забить в ексель и построить график на основе этих показаний...
Для этого их не надо переводить из одной системы счисления в другую. Просто читаешь значения из двоичного файла и рисуешь график.

Если же тебе надо преобразовать двоичный файл в текстовый, в котором значения будут в десятичном виде то это другое дело, но для этого необходимо знать числа какого размера и типа записаны в бинарном файле (8-битные, 16-и, 32-х, со знаком или без, целые или же числа с плавающей запятой float или double ?).
1
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
20.07.2011, 14:37 #6
С++:
C++
1
2
3
4
5
6
    std::ifstream ifs("1.dat");
 
    int i; 
 
    while (ifs >> std::hex >> i )
        std::cout << i << ' ';
и вообще lazybiz сказал верно
1
Dav1704
0 / 0 / 0
Регистрация: 01.07.2011
Сообщений: 3
20.07.2011, 15:02  [ТС] #7
большое спасибо за помощь...попробую в свободное время написать эту прогу...а так постараюсь еще инфы нарыть насчет этого задания...
0
easybudda
20.07.2011, 15:26     Нужна помощь! Перевод из 16ричной сс в 10ую сс
  #8

Не по теме:

Цитата Сообщение от lazybiz Посмотреть сообщение
Я даже не знаю как тебе это объяснить чтобы для тебя это не было шоком...
Хорошая формулировка...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2011, 15:26
Привет! Вот еще темы с ответами:

Нужна помощь начинающему (while). - C++
Собствено вот код: //While DEMO //прога выводит количество выполненых цыклов while #include &lt;stdio.h&gt; #include &lt;lostream.h&gt; int...

Нужна помощь Строки. - C++
Составить программу вывода последовательности символов ZYYXXX...AA..AA Y на экран.

CALLBACK. Нужна помощь - C++
Всем привет! Есть такой код: class ExpressionCalculator { private: ...

нужна помощь с рекурсией. - C++
Ребята, кто мне может объяснить доступно рекурсию на элементарном примере? в интернетах в основном примеры с факториалом. вроде с ним...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.