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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
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.... подробнее

Показать сообщение отдельно
Mendel
2 / 2 / 0
Регистрация: 19.09.2015
Сообщений: 117
Завершенные тесты: 1

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

10.06.2016, 17:27. Просмотров 214. Ответов 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;
}
0
Миниатюры
Выводится null-строка   Выводится null-строка  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.