Russian Qt Forum
Ноябрь 22, 2024, 23:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: int to char  (Прочитано 6048 раз)
dread
Гость
« : Апрель 27, 2007, 06:30 »

Вопрос: есть число типа инт (цлое) размером до 65000
как это число представить в виде двух байт (символов) ?

целочисленным делением?
Записан
sandy
Гость
« Ответ #1 : Апрель 27, 2007, 08:53 »

int - это 4 байта
используй short
Записан
Вудруф
Гость
« Ответ #2 : Апрель 27, 2007, 10:46 »

Код:

unsigned int a; //или unsigned short int, не суть важно
char first = (a / 256)%256;
char second = a % 256;

Можно и по-другому: непосредственно читать память из int'а в char'ы. Но тогда будет ролять порядок байт в слове...

P.S. int - не всегда 4 байта, он может быть и 2-х байтовым.

добавлено спустя 31 минуту:

 Ну или любителям быстрых вычислений:
Код:

unsigned int a;
char first = a >> 8;
char second = a;
Записан
sandy
Гость
« Ответ #3 : Апрель 27, 2007, 12:29 »

Цитата: "Вудруф"

P.S. int - не всегда 4 байта, он может быть и 2-х байтовым.


Согласен. Зависит от реализации. Но short уж точно 2 байта
Записан
dread
Гость
« Ответ #4 : Апрель 28, 2007, 03:17 »

спасиб )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.099 секунд. Запросов: 20.