
| Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
Поменять местами значения двух переменных
|
||
| Философия, технологии, алгоритмы! |
![]() |
|
|
|
Опции темы |
|
|
#38 |
|
Форумец
Сообщений: 3
Регистрация: 12.06.2007
|
a := a xor b;
b := a xor b; a := a xor b; |
|
|
|
|
#39 | |
|
:::Just_a_DJ:::
Сообщений: 1,559
Регистрация: 23.11.2004
Возраст: 39
|
=]СтепаныЧ[=, читай внимательнее...
Цитата:
|
|
|
|
|
|
#40 | |
|
Литр джиксер
Сообщений: 3,683
Регистрация: 18.09.2006
Возраст: 36
|
Цитата:
|
|
|
|
|
|
#43 |
|
:::Just_a_DJ:::
Сообщений: 1,559
Регистрация: 23.11.2004
Возраст: 39
|
RJ Presto, смарты вряд ли, а вот под простые мобилы - да... в смартах все же есть поддержка карт памяти...
|
|
|
|
|
#44 | ||
|
Форумец
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 44
|
это неправильное решение:
Цитата:
для целочисленных переменных нужно использовать xor: Цитата:
|
||
|
|
|
|
#45 | |
|
мумиё
Сообщений: 284
Регистрация: 02.01.2006
Возраст: 40
|
Цитата:
|
|
|
|
|
|
#46 | ||
|
Stebanoid
Сообщений: 1,940
Регистрация: 30.07.2003
Возраст: 40
|
Цитата:
Цитата:
|
||
|
|
|
|
#47 | |
|
Stebanoid
Сообщений: 1,940
Регистрация: 30.07.2003
Возраст: 40
|
Цитата:
Эффект может быть только в контроллерах с раздельной памятью команд и оперативкой, но он такой мизерный, что это даже смешно. |
|
|
|
|
|
#48 | |
|
мумиё
Сообщений: 284
Регистрация: 02.01.2006
Возраст: 40
|
Цитата:
|
|
|
|
|
|
#50 | |
|
Форумец
Сообщений: 1,109
Регистрация: 19.12.2004
Возраст: 44
|
Цитата:
зависит от платформы, может работать, а может и нет.зы. учи матчасть ps уточню что я говорю про с++, в нём эти два куска кода не эквивалентны обмену через третью переменную, тут все зависит от того какие числа мы меняем местами, хор подойдет для целых и дробных чисел ( и то если их физически привести к целым, а потом обратно ), а математические манипуляции с целыми числами могут дать в результате переполнение, результат которого будет зависеть от типа процессора на котором этот код потом будет выполняться, например если так переставлять местами значения в ММХ регистрах то получится совсем не то что хочется т.к. там есть не только циклическое переполнение в котором данный способ прокатил-бы, но и переполнение насыщением, это когда результат если не помещает в переменную то ей присваивается максимально возможное значение ( ну или минимально, если результат отрицательный ).
|
|
|
|
|
|
#51 | ||
|
Stebanoid
Сообщений: 1,940
Регистрация: 30.07.2003
Возраст: 40
|
Цитата:
Цитата:
|
||
|
|
|
|
#54 | |
|
Stebanoid
Сообщений: 1,940
Регистрация: 30.07.2003
Возраст: 40
|
Цитата:
|
|
|
|
|
|
#55 | |
|
мумиё
Сообщений: 284
Регистрация: 02.01.2006
Возраст: 40
|
Цитата:
да, выделение памяти очевидно и проверялось... |
|
|
|
|
|
#58 |
|
Stebanoid
Сообщений: 1,940
Регистрация: 30.07.2003
Возраст: 40
|
во-во.. хотя бы так.
Хотя у меня была одно время мания всё программу писать в регистрах, стараясь совершенно не использовать оперативку (наверное это болезнь всех начинающих) - у меня тогда вечно регистров не хватало. Тем более писал под персоналку, а у неё регистров маловато. |
|
|