Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 36

Битовые операции для char

09.11.2016, 14:55. Показов 3493. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый.
Можно ли произвести побитовый сдвиг влево (и другие битовые операции) над буквой или текстом?

Я знаю что есть <<, но он работает только с числовыми типами данных. А вот как сделать ту же самую операцию для текста или буквы. К примеру есть буква "и" и нужно получить побитовым сдвигом влево другой символ. В двоичном виде она выглядит так : 1101000010111000 и при сдвиге влево (1101000010111000 << 10) получается 1127424010353664000, что естественно не правильно и не является тем что я хочу сделать.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.11.2016, 14:55
Ответы с готовыми решениями:

Битовые операции - нужна пара примеров для освоения
прошу накидайте пару примеров по битовым операциям чтоб я мог разобратса

Enum и битовые операции
namespace ConsoleApp3 { enum Numbers{ None = 0, One = 1, Two = 2, Free = 4 } ...

Работа с указателями и битовые операции (с C++ в C#)
Помогите перевести это в эффективный C# код :) int UnknownFunc0001(signed int a1) { return ((a1 &gt;&gt; 24) &amp; 0xFF) + ((((a1...

3
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,574
09.11.2016, 15:07
C#
1
2
3
            char test = 'и'; // 0x0438 - 0000010000111000
 
            char test2 = (char)((short)test << 10); // 0xE000 - 1110000000000000
1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
09.11.2016, 15:08
Цитата Сообщение от Stud_force Посмотреть сообщение
не является тем что я хочу сделать.
Ну естественно, сдвиг на N позиций влево равносилен умножению числа на 2 в степени N. У вас значение выходит за границу символов. Приведите его (явно) к char.
0
0 / 0 / 0
Регистрация: 02.05.2016
Сообщений: 36
13.11.2016, 13:13  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
C#
1
2
3
            char test = 'и'; // 0x0438 - 0000010000111000
 
            char test2 = (char)((short)test << 10); // 0xE000 - 1110000000000000
Спасибо! Работает.
Но есть еще один вопрос.

Для string получается код
C#
1
2
3
4
string m_test = "абв";
string c_test = "";
            foreach (char i in m_test)
                c_test = c_test + (char)((short)i << 4);
Если брать сдвиг на 3,4,5,7,9,10,11 то все нормально, выводит 3 символа, но если брать 1,2,6,8 то на выходе получается что-то вроде:
при 1 - \u0860\u0862\u0864
при 2 - ჀჄ\u10c8
при 6 - \u0c00ీ\u0c80
при 8 -  \u3100㈀

Получается таких символов не существует? Как можно избежать это, если конечно это возможно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2016, 13:13
Помогаю со студенческими работами здесь

Битовые операции
Необходимо создать программу, считывающую со стандартного ввода двоичное число в формате “дополнение до единицы” и с помощью битовых...

Битовые операции C#
как ввести двоичное число без использования функции Convert, При том не 8-ми битовое, а 32-ух. И получим ли мы исходное число, если...

Перестановка пар бит в двух числах и битовые операции
Добрый день! Есть такая задачка. &quot;Написать программу, которая позволит ввести два числа a и b типа uint с клавиатуры, напечатать их на...

Для чего нужны битовые операции?
Здравствуйте. Дошел в книге Стенли до битовых операций, но никак не могу понять их предназначение. Где вообще они используются и как с...

Что такое битовые операции и для чего?
Что такое битовые операции и для чего? Объясните,пожалуйста.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru