Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
Страниц: 1 ... 3 4 5 [6] 7 8 9 10
 51 
 : 03-02-2024 15:03 
Автор Boriska - Последний ответ от RXL
Есть такой wchar...

 52 
 : 03-02-2024 05:06 
Автор Boriska - Последний ответ от Boriska
Дело было так. В STM32CubeIDE заполнял таблицу
Код:
void init_ru_code_page()
{
code_page_ru['А'] = 'A'; //'А'0x90
code_page_ru['Б'] = (char)160; //'Б' 0x91
code_page_ru['В'] = 'B'; //'В'0x92
code_page_ru['Г'] = (char)161; //'Г'0x93
code_page_ru['Д'] = (char)224; //'Д'
code_page_ru['Е'] = 'E'; //'Е'
code_page_ru['Ё'] = (char)162; //'Ё'
code_page_ru['Ж'] = (char)163; //'Ж'
Обнаружил что символ в таблице занимал два байта. Пока не поставил в свойствах проекта -fexec-charset=866 так и было.
Может еще надо какая инфа, я откачу и предоставлю.

 53 
 : 03-02-2024 04:52 
Автор Boriska - Последний ответ от Алексей++
Boriska, CHAR_BIT - это размер байта в битах (чаще всего это 8, но на каких-то компиляторах/платформах может быть и другое значение).
sizeof возвращает размер в байтах
https://en.cppreference.com/w/cpp/language/sizeof

размер int не зависит от битности чего-либо. В стандарте размеры прописаны так:

char / unsigned char / signed char - имеют размер один байт
остальные целочисленные типы:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)

 54 
 : 02-02-2024 21:29 
Автор Boriska - Последний ответ от Джон
Писал под контроллер и вдруг обнаружил, что char это не 8 а 16. В студии кодировка двухбайтовая вот и пожалуйста.

Можно подробней? Что значит кодировка "двухбайтовая"? Что значит 8 и 16?

Почему спрашиваю:

 sizeof(char) = 1

другого не видел.

 55 
 : 02-02-2024 18:18 
Автор Boriska - Последний ответ от Boriska
Вы не совсем правильно меня поняли. sizeof это аксиома никто не отменял. Вот у меня есть студия для контроллера МикроЧип. А сам контроллер отсутствует в данный момент. Да я могу подождать, прийдет контроллер и я запущу sizeof и посмотрю. Меня интересует могу ли я, зная что он 16 битный определить размеры int. Ведь зависит же размер int от разрядности процессора в ПК. На ПК если ОС 32 и проц 32 то и инт будет 4. Если ОС 32, проц 64 int будет 4, если ОС64, проц 64 тогда int будет 8. Вот и пытаюсь связать размер слова микроконтроллера с размером int без sizeof

 56 
 : 02-02-2024 16:37 
Автор Boriska - Последний ответ от Алексей++
Boriska, привет. Количество битов в типе char лежит в константе CHAR_BIT
для C https://en.cppreference.com/w/c/types/limits
для C++ https://en.cppreference.com/w/cpp/types/climits

>>Как нынче определять размер типа без sizeof
размер типа определяется нынче именно при помощи sizeof Улыбаюсь

 57 
 : 02-02-2024 16:30 
Автор Boriska - Последний ответ от Boriska
Привет. Писал под контроллер и вдруг обнаружил, что char это не 8 а 16. В студии кодировка двухбайтовая вот и пожалуйста. В связи с этим вопрос о типах. Как нынче определять размер типа без sizeof. Вот допустим char будет зависеть не от контроллера или ПК, а от студии. А допустим int. По идее от платформы ?

 58 
 : 03-01-2024 13:20 
Автор Гром - Последний ответ от Алексей++
Люсь, воистину с Новым )

 59 
 : 03-01-2024 13:17 
Автор Гром - Последний ответ от Люсь
С Новым Гадом!

 60 
 : 31-12-2023 19:38 
Автор Гром - Последний ответ от Алексей++
Finch, да я про жену Отлично

Страниц: 1 ... 3 4 5 [6] 7 8 9 10
Powered by SMF 1.1.21 | SMF © 2015, Simple Machines