С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.07.2020
Сообщений: 1
1

Побитовый сдвиг MinGW / GCC

09.12.2021, 23:55. Показов 892. Ответов 2

Author24 — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с проблемой при работе с побитовым сдвигом в языке СИ.
В Clion использую MinGW, компилирую безумно простую программу
C
1
2
3
4
5
  int main() {
  unsigned int c = getchar();
  unsigned int b = c << 27;
  printf("%d", b);
}
Соответственно если я ввожу, например букву я (которая в utf двухбайтовая и первый байт равен 208), число превращается в 0.

Если я через gcc в консоли компилирую эту же самую программу, число обращается в 0 только при сдвиге на 28 разрядов.

Может кто-то объяснить, почему так происходит?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2021, 23:55
Ответы с готовыми решениями:

Mingw-w64 MinGW TDM-GCC
Всем привет. Хочу понять, существует ли принципиальная разница между Mingw-w64, MinGW и...

Побитовый сдвиг в js
Подскажите пожалуйста, у меня такая ситуация: есть число -1879047421 пусть это будет a, при...

Побитовый сдвиг
Добрый день, помогите пожалуйста с побитовым сдвигом вправо, не получается добиться верной работы,...

Побитовый сдвиг
Помогите реализовать побитовый сдвиг числа X на N позиций и вывести промежуточные шаги при сдвиге ?

Побитовый сдвиг
Здравствуйте! Столкнулся с операторами &gt;&gt; &lt;&lt; &gt;&gt;&gt;, конкретно мне нужно понять как вычисляются...

2
1017 / 1905 / 178
Регистрация: 07.05.2013
Сообщений: 3,931
Записей в блоге: 12
10.12.2021, 03:56 2
Выведите на экран значение с после ввода и посмотрите, что у вас там вводится в обоих случаях.

А если на кофейной гуще, то проверьте текущие локаль и кодировку в обеих консолях.
0
Заблокирован
10.12.2021, 10:39 3
Да ладно! У меня работает нормально.
C
1
2
3
4
5
6
7
8
#include <stdio.h>
 
int main() {
  unsigned int c = getchar();
  unsigned int b = c << 27;
  printf("%d", b);
  return 0;
}
gcc 1.c && ./a.out
я
-2013265920

./a.out
G
939524096
0
10.12.2021, 10:39
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2021, 10:39
Помогаю со студенческими работами здесь

Побитовый сдвиг -1>>>n
Здравствуйте, по учебникам и лекциям все гладко написано. Уже зазубрил, с какой стороны ноль или с...

Побитовый сдвиг
Выполнение данного кода приравнивает asd к нулю. Хотя должно к единице, судя по моим вычислениям. ...

Побитовый сдвиг
#include &lt;iostream&gt; using namespace std; int main(int argc, char** argv) { int a,b,c,i; cin...

Побитовый сдвиг
Подскажите пожалуйста, как правильно сделать побитовый сдвиг? Необходимо рассчитать день недели...

Побитовый сдвиг
есть допустим переменная unsigned char data = 0b10111011; Как можно сделать за 4 шага по...

Побитовый сдвиг
Пытаюсь реализовать алгоритм битовой перестановки, наткнулся на место, в котором совершенно не...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru