Javascript.RU

 
 
Опции темы
 
Старый 14.07.2012, 15:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 9xakep
Что значит b, в конце каждого числа?
оно просто говорит о том что работаем с двоичным числом.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
 
Старый 14.07.2012, 16:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от 9xakep
Спасибо, но я мало что понял).
задавай вопросы

Сообщение от 9xakep
Только у меня последний вопрос, скорее из части информатики:
Почему -1, это 1111, а не 1001 (если 4 бита)?
Ну это же договоренность такая, неудобно так. В случае дополнительного кода положительные и отрицательные числа складываются одинаково. Если же взять твою альтернативную схему, несмотря на ее логичность что ли или прямолинейность: 1) положительные и отрицательные числа складываются по-разному, 2) с переполнением сложнее: в случае дополнительного кода просто отбрасываются или заимствуются дополнительные разряды (как при сложении/вычитании в столбик), а здесь как?
Код:
0111b (7)
+
0001b (1)
---------
1111b (-7)
либо если не переполнение, то что?
 
Старый 14.07.2012, 16:08
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а, я даже понял ответ на твой изначальный вопрос
Сообщение от 9xakep
почему же тогда ~ работает как: -(х+1) ??
т.е. почему ~a = -1 - a: -1 = 1111b в дополнительном коде; другими словами, надо доказать, что ~a + a = 1111b. Операция NOT меняет нули на единицы и единицы на нули. И если сложить два числа у которых напротив единицы - ноль и наоборот, получится число состоящее только из единиц.
 
Старый 14.07.2012, 16:35
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от x-yuri
задавай вопросы
ок, щас)
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 14.07.2012 в 16:39.
 
Старый 14.07.2012, 16:39
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от x-yuri
И если сложить два числа у которых напротив единицы - ноль и наоборот, получится число состоящее только из единиц.
Ага...
~0 = -1 + 0,
~0000 = -1 + 0
~0000 = -1
1111 = -1.
Все теперь понял)
===============
0000 = 0 <==> 
0001 = 1 <--> 1111 = -1
0010 = 2 <--> 1110 = -2
0011 = 3 <--> 1101 = -3
0100 = 4 <--> 1100 = -4
0101 = 5 <--> 1011 = -5
0110 = 6 <--> 1010 = -6
0111 = 7 <--> 1001 = -7
P.S. короче: нужно запомнить, что 1111 = -1, 1110 = -2
с числами -3, -4 есть логика (заменяем первый бит операнда)
После уже просто инверитурем предыдущее число в левом ряду, например:
-6 = ~5
-6 = ~0101
-6 = 1010

Цитата:
0111b (7)
+
0001b (1)
---------
1111b (-7)
?
0111b (7)
+
0001b (1)
--------
1000 (8)
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 14.07.2012 в 17:17.
 
Старый 14.07.2012, 16:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну если выбрать не такой крайний случай, то получится
Код:
~0101 + 0101 = 1111
1010
+
0101
----
1111
 
Старый 14.07.2012, 17:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 9xakep
P.S. короче: нужно запомнить, что 1111 = -1, 1110 = -2
это в том случае если числа со знаком, если же числа бес знаковые, то и числа будут иные. 1111 = 15, 1110 = 14
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
 
Старый 14.07.2012, 17:25
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

devote,
ну у меня 4 бит, это понятно, щас читаю, что написал x-yuri, как и сказал, задам вопросы)
__________________
оляля, ололо
 
Старый 14.07.2012, 18:19
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

x-yuri,
чувак, супер, нет вопросов, все понял
__________________
оляля, ололо
 

Опции темы