170 похожих чатов

@Hurrypbabe, ты посмотрел, что я написал? Может, тут есть случай знакового

переполнения, что есть undefined behavior, а это значит, что может произойди всё, что угодно.

31 ответов

15 просмотров

Дошло, спасибо)

Ну я жестко тупил с этого

Нет там никакого UB, и быть не может

Дмитрий-🎮 Автор вопроса
Ilya Zviagin
Нет там никакого UB, и быть не может

Запись числа 192 в знаковый char, у которого наибольшее положительное 127, это не UB?

Ilya Zviagin
u_char - это не char

это 8 бит, этого вполне достаточно. А потом уже явно касти себе на здоровье Ещё же бывает std::byte 👌

Дмитрий 🎮
Запись числа 192 в знаковый char, у которого наибо...

Никто не гарантирует(даже стандарт), что у signed char наибольшее положительное 127

Дмитрий-🎮 Автор вопроса
Ilya Zviagin
а где это ? я не видел такого

https://t.me/supapro/1333494 У него переменная типа char. Знаковость char стандарт не определяет, может быть как signed, так и unsigned. Когда он записывает в эту переменную 0x0F (15), в консоли выведется такое же значение, но когда он записал 0xC0 (192), что больше 127, значение стало выводиться отрицательное.

Дмитрий-🎮 Автор вопроса
Дмитрий-🎮 Автор вопроса
Ilya Zviagin
И какое же ?

В его случае printf("%X", ch); //FFFFFFC0

Дмитрий 🎮
Это к тому, что его размер >= 1 байта?

Нет, к тому, что байт может быть семибитным. Но что в том, что в том случаях sigidness - это лишь абстракция над байтами

Дмитрий 🎮
В его случае printf("%X", ch); //FFFFFFC0

Ну, должно получиться ровно такое же число в 10ой

Aniki Hi$ok@ 🌈 Z 🐀
а на х86/amd64?

А Си/++ есть только на этих архитектурах?

Rekreker
А Си/++ есть только на этих архитектурах?

вот он и попался, разжигатель срача

Дмитрий-🎮 Автор вопроса

Вот поэтому я и писал предыдущие сообщения. Записал в char 192, а на выходе получил 4'294'967'232, странно.

а на какой архитектуре твой пк? На арме чар из 7 бит?

Aniki Hi$ok@ 🌈 Z 🐀
а на какой архитектуре твой пк? На арме чар из 7 б...

Нет, на арме чар не из 7 бит. Стандарт не гарантирует восьмибитность байта, но при этом гарантирует однобайтность char

Дмитрий 🎮
Вот поэтому я и писал предыдущие сообщения. Запис...

в этом моменте самое странное - выводить в консоль чар, и даже std::hex + статик каст к инту не использовать. Понятное дело что сломалось из-за знака

Дмитрий-🎮 Автор вопроса
Rekreker
Нет, на арме чар не из 7 бит. Стандарт не гарантир...

так, мы присвоили чару 0b1111'1111, какое отношение к этому имеет то, что байт Может быть не из 8 бит. Да даже 1 бит, можно любой компилятор написать самому. Ты конечно молодец, умный безгранично

Aniki Hi$ok@ 🌈 Z 🐀
так, мы присвоили чару 0b1111'1111, какое отношени...

а я тебя переиграл, использую как конченый uint8_t, из-за таких как ты

Aniki Hi$ok@ 🌈 Z 🐀
так, мы присвоили чару 0b1111'1111, какое отношени...

Так мало ли что можно байту присвоить? char kek = 0x1337; Просто преобразует int в char через type narrowing

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
Какой дос блять?
007
9
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта