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

Есть ли в плюсах, однобайтовый целочисленный тип?

21 ответов

14 просмотров

char

std::byte

char он ровно однобайтовый и ровно целочисленный. Все как тебе надо 😁

d7d1cd
char он ровно однобайтовый и ровно целочисленный. ...

Чар не гарантированно однобайтовый. Пруфлинк: https://en.cppreference.com/w/cpp/language/types Цитаты: char - type for character representation which can be most efficiently processed on the target system [...] Note: this allows the extreme case in which bytes are sized 64 bits, all types (including char) are 64 bits wide, and sizeof returns 1 for every type.

Пашечка
Чар не гарантированно однобайтовый. Пруфлинк: ht...

Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!

Пашечка
Чар не гарантированно однобайтовый. Пруфлинк: ht...

Тут это сто раз уже обсуждалось. Не гарантируется, что байт = 8 бит, а char как раз 1 байт

Пашечка
Чар не гарантированно однобайтовый. Пруфлинк: ht...

Он гарантированно однобайтовый. Это байт не гарантированно восьмибитный

Пашечка
Чар не гарантированно однобайтовый. Пруфлинк: ht...

> Чар не гарантированно однобайтовый. А ты смешной ))). Он гарантированно один байт. Не гарантируется, что в байте 8 бит.

А от чего это зависит? Какие бывают Extreme cases. Кстати, там написано, что байт может быть 64 битовым, чар также останется однобайтовым кажется. Сори если не по контексту

Vildan Safin
А от чего это зависит? Какие бывают Extreme cases....

От железа, ОС, компилятора и его ключей. Если память не изменяет, то на VAX байт был 7-битный и char такой же. Но память уже и изменять может, очень давно это было. Теоретически и сейчас на каком специфическом железе такой может случиться. Посему, если точно 8 бит нужно, то int8_t или uint8_t. Если же просто массив в байтах на С++ для чего угодно, то std::vector<char> почти всегда достаточно.

Viktor Chyzhdzenka
От железа, ОС, компилятора и его ключей. Если памя...

Спасибо! просто написали, что чар не обязательно однобайтовый, хотя это не чар не однобайтовый, а байт не 8 битный)

Vildan Safin
Спасибо! просто написали, что чар не обязательно о...

Понятия байт может не существовать даже на какой специфике. Есть "слово", оно же "word". Типа того с чем процессор работает.

Viktor Chyzhdzenka
От железа, ОС, компилятора и его ключей. Если памя...

Кстати, получается bool в таких системах тоже 64 битами кодировались?)

Vildan Safin
Кстати, получается bool в таких системах тоже 64 б...

Да. Но это вообще хитрый тип и, например, std::vector<bool> - жуткая штука. Юзать имеет смысл, если тебе этот вектор по битам распихать надо, но и соответсвенно тормознутый он сильно. Поэтому чаще юзают для булевого std::vector<int>. на всех системах int привязывают с слову процессора.

Алексей (lewa_j) Иванчуков
Хахахахаха. Win x86_64 с 4байт int передаёт привет

А привет то в чем? Я c виндой дел уже лет 10 не имею.

Алексей (lewa_j) Иванчуков
Хахахахаха. Win x86_64 с 4байт int передаёт привет

И если память не изменяет, то 64 битные процессоры умеют хорошо и 32 интами работать - там типа специально для этого что-то делали.

Viktor Chyzhdzenka
От железа, ОС, компилятора и его ключей. Если памя...

Кстати и int8_t/uint8_t может не существовать на специфических платформах, где оно непредставимо. И вообще все эти вариации с фиксированной битовой длиной. Они помечены, как опциональные.

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта