Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
Mendel
2 / 2 / 1
Регистрация: 19.09.2015
Сообщений: 121
Завершенные тесты: 1

Выводится null-строка

10.06.2016, 17:27. Просмотров 249. Ответов 2
Метки (Все метки)

Всем привет. Есть код, преобразующий целое беззнаковое число из двоичной сс(изображено в виде строки) в десятичную(уже числовое представление) и обратно полученное число в двоичную "строку".
Все работало, но стоило в коде поменять unsigned int на unsigned long(отметил в коде комментариями где менял), то получается такая вот ерунда(скрины ниже, 1 скрин - unsigned int, 2 - unsigned long). В чем может быть дело?

C++
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
#include <stdio.h>
#include <conio.h>
char *inttostr(unsigned long chislo);      //!
unsigned long strtoint(char *s);             //!
 
void main(void)
{
   clrscr();
   char *Numbers[]= {"1001","110011","100","1010","1111","110"};
   for (int i=0; i<6; i++)
     printf("String %s, \t Int %d, \t String %s\n", Numbers[i],
       strtoint(Numbers[i]), inttostr(strtoint(Numbers[i])));
   getch();
}
 
char *inttostr(unsigned long chislo)             //!
{
   char *s="000000";
   int n, pos=5;
   while (chislo != 0)
   {
     n=chislo%2;
     chislo/=2;
     if (n==0) s[pos--]='0';   
     else s[pos--]='1';
   }
   while (pos>-1)
     s[pos--]='0';
   return s;
}
unsigned long strtoint(char *s)      //!
{
   unsigned long sum=0;             //!
   while (*s)
    sum=sum*2+(*s++-'0');
   return sum;
}


Вернуться к обсуждению:
Выводится null-строка
0
Миниатюры
Выводится null-строка   Выводится null-строка  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2016, 17:27
Готовые ответы и решения:

Не выводится строка через cout
Ошибка вылетает на этапе выполнение метода show() , а именно вместо возраста...

Неверно выводится симметричная строка
Проблема с выводом данной программы, надо что бы программа выводила в двоичном...

Выводится лишняя строка из файла
Здравствуйте. При выводе из файла выводится лишняя строка. Т.е. если 13 строк...

не выводится строка в Visual Studio
#include &lt;cstdlib&gt; #include &lt;iostream&gt; using namespace std; int main(int...

Почему лишний раз выводится строка?
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;vector&gt;...

2
Другие темы раздела
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread1759804.html
Здравствуйте. Объясните механизма операции инкремента. Как работают эти строки: Counter(int c) : count(c) { } return Counter(count); #include <iostream> using namespace std;...
C++ Двумерный массив указателей присвоить другому указателю char *tp = { "bb", "vv", "zz", "kk", "" }; char ***mp = tp; // вот здесь ошибка что нужно прописать чтоб присвоилось? http://www.cyberforum.ru/cpp-beginners/thread1759785.html
C++ Найти максимальную сумму элементов на ярусе дерева
Найти максимальную сумму элементов на ярусе дерева
Подсчитать,сколько раз каждое число встречается в файле C++
Помогите ,кому нетрудно с лабораторной работой. Задание: подсчитать,сколько раз каждое число встречается в тексте файла number1.txt. Все встречающиеся числа и их количество вывести в файл...
C++ Битовые операции http://www.cyberforum.ru/cpp-beginners/thread1759756.html
Сдвинуть последовательность битов вправо так, чтобы на нулевой позиции находился первый единичный бит.
C++ С++ не даёт ввести значение строки Ошибка: Не могу ввести строку в программе. Ошибка: вылетает программа. "ConsoleApplication1.exe" (Win32). Загружено "C:\Windows\SysWOW64\ntdll.dll". Невозможно найти или открыть файл PDB.... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru