|
касаткО
51 / 51 / 4
Регистрация: 01.10.2011
Сообщений: 227
|
|
Signed/Unsigned21.03.2012, 19:40. Показов 26347. Ответов 64
Метки нет (Все метки)
Здравствуйте! Стал изучать ЯП C. Не совсем могу понять, что означает Signed и Unsigned (как я понял означает наличие знака(+ либо -) или его отсутствие). Не мог ли бы доходчиво объяснить, что это означает и в какой ситуации используется.
0
|
|
| 21.03.2012, 19:40 | |
|
Ответы с готовыми решениями:
64
Сложение signed и unsigned
Сравнение чисел unsigned и signed |
| 23.01.2021, 09:26 | ||
|
Не по теме:
Каждый бит "битового массива" получает свой адрес в другой области адресного пространства, и к каждому биту можно обращаться, как к обычной переменной на Си. При этом в объектном коде будет меньше битовых операций ( ~ | ^ & >> << на Си ). А так как исполняемых инструкций меньше, то и времени на их выборку и декодирование потребуется чуть меньше. Аппаратуре всё равно придётся считывать целиком слово, содержаще нужный бит, изменять его, и "сохранять" обратно.
0
|
||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,350
|
|||||||
| 23.01.2021, 10:16 | |||||||
0
|
|||||||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
|||||||
| 23.01.2021, 10:38 | |||||||
|
Хотите стандартное диагностическое сообщение - используйте {}-инициализацию в любой ее форме
3
|
|||||||
|
Модератор
|
||||||||||||||||
| 23.01.2021, 10:46 | ||||||||||||||||
|
Выпрашивать надо.
![]()
-'z' конвертировалось в неотрицательное, компилятор меньше волнует.Добавлено через 2 минуты Универсальной {}-инициализации пока нет в Си, к сожалению:
0
|
||||||||||||||||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
|
| 23.01.2021, 10:48 | |
|
0
|
|
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
|||||
| 23.01.2021, 11:04 | |||||
-pedantic, а не под -Wall?=? Тема не имеет вообще никакого отношения к универсальной инициализации. Я же изначально написал: = {} и это прекрасно скомпилируется в С. Такие инициализаторы есть в С - оттуда они и пришли. Вот чего нет в С, так это запрета на сужающие преобразования в таких инициализаторах.
0
|
|||||
|
Модератор
|
|||||||||||||||||||||||
| 23.01.2021, 11:29 | |||||||||||||||||||||||
![]()
Компилятор под C
0
|
|||||||||||||||||||||||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
||
| 23.01.2021, 11:37 | ||
-Wall -Wextra, но появляется при -pedantic. Где логика?Clang такими загадками не страдает.
0
|
||
|
Модератор
|
||
| 23.01.2021, 13:57 | ||
|
Но у gcc есть ещё куча нестандартных параметров. Молчаливость gcc по умолчанию не удивляет: куча чудо-юдо-код по умолчанию собирается именно этим компилятором.
0
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|
| 24.01.2021, 00:29 | |
|
Раз уж начали за переполнения, как с ним бороться ?
Можно указать компилятору что бы при переполнении генерировалось исключение к примеру ?
0
|
|
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
||
| 24.01.2021, 00:42 | ||
|
"Переполнением" называется переполнение знаковой арифметики во время выполнения. Это может ловить, к примеру, gcc с ключом -ftrapv. Но этот ключ будет ловить переполнения при арифметике, но не переполнения при преобразованиях.
2
|
||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
||
| 24.01.2021, 03:41 | ||
|
0
|
||
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
||||||||||||
| 24.01.2021, 08:29 | ||||||||||||
-ftrapv отловит такое переполнение
Другими словами -ftrapv призван отлавливать undefined behavior. А сужающее преобразование с потерей значения - это implementaion-defined behavior (а сейчас в С++, кажется, вообще полностью defined behavior), поэтому на него -ftrapv не реагирует.
1
|
||||||||||||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,350
|
||
| 25.01.2021, 09:01 | ||
|
0
|
||
|
Модератор
|
|
| 25.01.2021, 09:43 | |
|
8-битный char по умолчанию как signed постепенно устаревает.
http://www.open-std.org/jtc1/s... 3.html#GB1
0
|
|
|
Вездепух
13228 / 6860 / 1827
Регистрация: 18.10.2014
Сообщений: 17,384
|
|
| 25.01.2021, 10:04 | |
|
0
|
|
| 25.01.2021, 10:04 | |
|
Comparison between signed and unsigned integer expressions Значения типов данных (signed, unsigned, char)
[C++ Warning] Unit1.cpp(24): W8012 Comparing signed and unsigned values Надо перевести переменную типа unsigned char* в signed int и обратно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|