Loading...
ardy11 avatar ardy11 0 Точки

Относно упражнението за конвертиране на символите на нашето име в двоичен код

Здравейте! Бих искал да попитам, защо след като извърших конвертирането и получих двоичните числа, от символите на моето собствено име, след направената проверка на посочения линк за сверяване на решението, не ми излиза, че съм ги направил правилно? 

Името ми е Radi, а ето и начина по който процедирах: 

82 97 100 105

82/2 = 41 (0)                97/2 = 48 (1)                100/2 = 50 (0)
41/2 = 20 (1)                48/2 = 24 (0)                50/2 = 25 (0)
20/2 = 10 (0)                24/2 = 12 (0)                25/2 = 12 (1)
10/2 = 5 (0)                  12/2 = 6 (0)          12/2 = 6 (0)
5/2 = 2 (1)                    6/2 = 3 (0)             6/2 = 3 (0)
2/2 = 1 (0)                    3/2 = 1 (1)             3/2 = 1 (1)
1/2 = 0 (1)                    1/2 = 0 (1)             1/2 = 0 (1)

 

105/2 = 52 (1)
52/2 = 26 (0)
26/2 = 13 (0)
13/2 = 6 (1)
6/2 = 3 (0)
3/2 = 1 (1)
1/2 = 0 (1)

1010010 1100001 1100100 1101001

След като в посочения линк въведох името си по обратния начин (text to bin numbers) на латиница т.е Radi, резултатът беше:
01010010 01100001 01100100 01101001 , или казано другояче същия като моят, но с една нула пред всяка двоична стойност.
Та всъщност конкретния ми въпрос е откъде идва тази нула, след като при приключване на деленето не фигурира и какво съм сбъркал?

0
Programming Basics
remote87 avatar remote87 121 Точки

Здравей!

Допълнителната нула ти допълва битовете до един байт. Един байт има 8 бита или иначе казано 8 единици и нули една до друга. Когато в случая имаш само седем такива долепени числа ( в случая са ти 7 на брой по твоите сметки ), компютъра ти долепя една 0 за да допълни байта до 8 на брой.

Ако ползваш тип лонг ( long ) ще ти допълни с още много нулички до края на 64 битовото число ( затова се нарича и 64 битово ) като там има и малка особеност, че ако е long имаш 63 бита и един бит за знака ( плюс или минус ), ако е ulong ( от 0 до много дълго число ) е 64 бита :)

EDIT: Пример от книгата на Наков:

Ще покажем пример при еднобайтово и двубайтово представяне на числото 158, което се записва в двоичен вид като10011110(2):

1. Представяне с 1 байт:

1

0

0

1

1

1

1

0

2. Представяне с 2 байта:

0

0

0

0

0

0

0

0

1

0

0

1

1

1

1

0

 

2
15/09/2015 15:42:27
ardy11 avatar ardy11 0 Точки

Благодаря ти, много.

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