2014-10-03 4 views
-1

я пытаюсь преобразовать строку типа этой 00000101 в междунар как тот 00000101.C++ - Преобразование строки двоичной цепочки в Int бинарной цепь

Но каждый метод, который я пытался, преобразовал, что цепь на что-то вроде этого: 101 без 0s.

Так как я могу сделать, чтобы сохранить 0s?

+0

целое число 101 идентично 00000101, так как нулевые значения не имеют значения, если вы хотите, чтобы начальные нули * для отображения * использовали строку и добавляли 8-масштабную цифру 0 –

+0

Можете ли вы сформулировать, как целое число 00000101 отличается от целого числа 101, либо математически, либо в представлении памяти в памяти компьютера? Подумайте об этом, и вы ответите на свой вопрос. – bames53

+1

Один простой способ получить ведущие нули: http://coliru.stacked-crooked.com/a/d2ff515a3b5a0438 – bames53

ответ

1

Вы не можете. 01 есть 001 есть 00001 все 1. Невозможно «сохранить» ведущие нули для целого числа или любого другого числового типа. Это невозможно.

Лучше либо хранить отдельные цифры в массиве целых чисел, или хранить значение не в виде десятичных 101, но двоичный101 или десятичное 5. Если рассматривать целое, как 8 битовый байт , у вас есть 00000101.

+0

Okey Мне нужно найти другое решение. На самом деле у меня есть пиксель, и я нахожу двоичный код пикселя. Например, 00000101. Затем я хотел бы извлечь каждый компонент этого кода, который должен сказать: компонент 1 = 0, компонент 2 = 0 и т. Д. Вот почему для меня важно иметь целую цепочку в int, потому что у меня есть цепочка на начало в строковом формате. – lilouch

+0

Тогда вас интересует вторая часть моего ответа. Вам необходимо сохранить двоичное значение * 00000101' и управлять отдельными битами с помощью побитовых операторов. Вы должны выполнить «манипулирование» или «побитовые операторы» google и начать чтение; это не сложно и очень хорошо покрыто. – meagar

+0

Okey спасибо, я собираюсь проверить это! – lilouch

0

Ну, для типа int 00000101 это то же самое, что и 101. В этом типе данных не имеют значения. Вы можете изменить способ отображения.

Смежные вопросы