powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос по Исключающая или
7 сообщений из 7, страница 1 из 1
вопрос по Исключающая или
    #34287307
UlanOf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь введенный мной текст сложить с числом по модулю два... Если не ошибаюсь то есть такая функция в Билдере ^ - исключающая ИЛИ
она сравнение как делает ? по битам?
Может фигню спросил..пытаюсь обьяснить.. Пример1:
Код: plaintext
1.
 b=(__int64) ([color=red] 1 [/color])^((__int64) ([color=red] 2 [/color]));
     ShowMessage((char)([color=red]b[/color]));

1= 001
2= 010
1^2=3
b= 3 или 100
Пример2:
Код: plaintext
1.
 b=(__int64) ("1")^((__int64) ("1"));
     ShowMessage((char)(b));
Почему я получаю то что на рисунке а не 0
получаю такое -
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34287311
UlanOf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сори за повтор от корресктировал
Пытаюсь введенный мной текст сложить с числом по модулю два... Если не ошибаюсь то есть такая функция в Билдере ^ - исключающая ИЛИ
она сравнение как делает ? по битам?
Может фигню спросил..пытаюсь обьяснить.. Пример1:
Код: plaintext
1.
 b=(__int64) ( 1 )^((__int64) ( 2 ));//<- вот так
     ShowMessage((char)([color=red]b[/color]));

1= 001
2= 010
1^2=3
b= 3 или 100
Пример2:
Код: plaintext
1.
 b=(__int64) ("1")^((__int64) ("1"));
     ShowMessage((char)(b));
Почему я получаю то что на рисунке а не 0
получаю такое -
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34287322
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По примеру 1:

^ - это операция, а не функция. Вычисление производится по битам.

x1 x2 F0 0 00 1 11 0 11 1 0
Поэтому b = 3 - правильный результат.
Код: plaintext
1.
2.
3.
a = (1) 10  = (0001) 2 
b = (2) 10  = (0010) 2 
f           = (0011) 2 

По примеру 2:

Для приведения к символьному типу может стоит использовать itoa? Отображаемого символа кодом 0, по моему нет.
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34287912
UlanOf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UlanOf
Код: plaintext
1.
 b=(__int64) ("1")^((__int64) ("1"));
     ShowMessage((AnsiString)(b));
получаю такое -
См. пример 2 если приведение типов сделать с помощью AnsiString то получаем "2" так же как и с помощью itoa.
Если с помощью char то тот рисунок см. значек выводится такой...
Жду еще подсказок...
Нужно выполнить такую операцию.... Имея два блока по 32 бита в виде символов.. выполнить операцию исключающей или - ^ и с возможностью потом правильно конвертировать обратно получив символы получаемые в зовершении..
Очень срочно! заранее спасибо..
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34287965
UlanOf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UlanOf
Код: plaintext
1.
 b=(__int64) ("1")^((__int64) ("1"));
     ShowMessage((AnsiString)(b));
получаю такое -
См. пример 2 если приведение типов сделать с помощью AnsiString то получаем "2" так же как и с помощью itoa.
Если с помощью char то тот рисунок см. значек выводится такой...
Жду еще подсказок...
Нужно выполнить такую операцию.... Имея два блока по 32 бита в виде символов.. выполнить операцию исключающей или - ^ и с возможностью потом правильно конвертировать обратно получив символы получаемые в зовершении..
Очень срочно! заранее спасибо..
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34287966
UlanOf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри F5 запал...:)
...
Рейтинг: 0 / 0
вопрос по Исключающая или
    #34288730
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UlanOf UlanOf
Код: plaintext
1.
 b=(__int64) ("1")^((__int64) ("1"));
     ShowMessage((AnsiString)(b));
получаю такое -
См. пример 2 если приведение типов сделать с помощью AnsiString то получаем "2" так же как и с помощью itoa.
Если с помощью char то тот рисунок см. значек выводится такой...
Жду еще подсказок...
Нужно выполнить такую операцию.... Имея два блока по 32 бита в виде символов.. выполнить операцию исключающей или - ^ и с возможностью потом правильно конвертировать обратно получив символы получаемые в зовершении..
Очень срочно! заранее спасибо..

1. Для функции шоумессадж нужна строка а не число. В чем ты и убедился.

2. Вариант 1. Приобразовать строки в числа и выполнить искл. или.
Вариант 2. Написать функцию искл. или для строк.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / вопрос по Исключающая или
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]