Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

ValentinV avatar ValentinV 2 Точки

Binary to Decimal (Loops Homework)

Опитвам се да реша 13 задача от домашното Loops от курса Programming Basics, и попаднах на едно решение което не разбирам напълно.

По точно не разбирам следния ред: int number = binNumber[i] - '0';

Тук е целия код.

Как от integer вадиш char, и каква точно е функцията на този код. 

Благодаря за помощта!

Тагове:
0
Programming Basics 03/03/2016 15:55:37
Filkolev avatar Filkolev 4482 Точки
Best Answer

binNumber е низ, което значи, че елементите му са символи. Т.е. binNumber[i] е символ. От символ вадиш символ, което е напълно нормално, понеже символите са числов тип данни.

Един символ, когато се разглежда като число, приема стойността на номера си в ASCII таблицата. Символът '0' като число е 48, символът '1' е 49 и т.н. Фактът, че символите са последователни в таблицата ти позволява да превърнеш например символът '1' в числото 1 като от '1' (49) извадиш 48 ('0'). Стига полученият символ да е действително цифра, формулата ще е коректна.

Друго полезно свойство, което произтича от това, е че може лесно да провериш дали даден символ е цифра (има метод, char.IsDigit(), но може и с доста проста проверка) - if (symbol >= '0' && symbol <= '9' ) // digit

2
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.